There are many reasons for this, but a big one only hinted at in this article is the firewall. Firewalls and NAT effectively break the Internet. They require centralization -- two devices cannot communicate without it. We've adopted a topology that forces centralization, and now we're surprised at the result.