> without the slightest idea of the purpose of said software
In the OPs specific example, the purpose of the network is to carry packets, and your job is to make sure packets are delivered. Whether they carry orders to launch nukes, or donations to charity isn't the purpose.
The point is that you need to be well acquainted with the problem that you're trying to solve. If you're developing a new network protocol then yes, you don't need to know what kind of information is going to flow through the network, you need to know about network protocols. On the other hand, if you're developing a business application then you better know how that business works.
I completely agree that the world is running on software right now, but the world isn't software ITSELF (well, not yet).
On the other hand, people being cracks in there field claiming that there field is the only one that counts are just arrogant. No mater if they a programmers, accountants, mech. engineers, doctors, car mechanics or what not. And yes, software written by people without the slightest idea of the purpose of said software tends to be not so good.