Latency? Or DNS? Don't underestimate the power of latency!
Something quick: "You can fill a lorry with hard disks and drive it to the user. Awesome bandwidth but no good for real world aps."
Actually, I read an article a few years ago that described scientists shipping tower PC's packed with hard drives. The reason, it was cheaper and faster to ship data on them by UPS than to use the internet.
Now the main point:
In a badly written application, or toolkit, it doesn't take long for 100ms latency to add up to 2 to 7 seconds. Lately I've started seeing web pages that load in a manner that virtually guaranties the same problems.
A few years ago I was working on projecting a simple X application across an ssh tunnel. The application was a simple display with a lot of buttons, but not all shown at once. The X Protocol was specifically setup for projecting across networks, the toolkits definitely are not. Through experimentation, analyzing protocol traffic, and reviewing the toolkit code we learned something very disturbing. This toolkit asked the X Server (the display) where the pointer was in relation to EVERY button it knew of, even the buttons not displayed. Thus a 100ms delay multiplied by 20 buttons became 2 seconds without any DNS delay. We eventually removed the latency by implementing our own button system. Not a good thing when the toolkit already had all the data it needed.