13 billion years = 4.1× 10^17 seconds
1000 factorial > 1 x 10^2430
Point being if there was one test carried out every second for every combination of software to determine if they will work together, you'd have to take more than 1000 factorial seconds to assure that each combination of software can work together. And that's assuming you just took one second to test it. How many pieces of software you might take hours to find out they don't work well together? Don't you see it is just hopeless for anyone to have the time to actually by brute force determine if all available packages will work together? That's why Apple sets standards. Unfortuantely to keep up with customer demand for new features, and faster machines, the standards have to occasionally move. And if developers either choose to ignore those new standards, or disappear, old software will just barely be able to keep up eventually. To claim this is an Apple issue exclusively is to ignore the problem of people not conforming to the unique standards Apple has to set.
It is interesting reading this thread that Apple is recommending to use OpenDNS to help solve this issue. Google has its OpenDNS which is what was suggested There are others too:
http://www.opendns.org/
If one of them is what is suggested, it likely says the router table somewhere got corrupted either on the router, the internet provider, or how it was managed in Mac OS X.