+H2Obsession They are a lot higher actually. According to Wikipedia and a couple of other sources I've seen, it's more in the 25-35,000 km-ish. You also have to account for the angle of the ground station and the angle of the end user. Obviously you don't beam your satellite directly up in the sky, there's a bit of angle so the traveled distance is a bit larger, and you also have to add the latency introduced by the receivers/transmitters (to generate the required carrier signal) and the time it takes for the request to be processed on the ground. If your satellite is an US ISP, your request will start from the USA on ground. If the actual request goes to the other side of the globe, you also need to add another 200-300ms for the submarine links from the USA to asia. The actual minimum latency is around 400-500ms, and averages more in the 600+ms and up to over a second.
Latency is very bad for performance and requires lots and lots of crazy optimizations to work. For example, when you download a web page, it usually requests several other resources like styles, scripts and images. Those are only known once the page itself is loaded, so you add another roundtrip to request those. These can request even more data, for example background images in styles. That's another roundtrip needed before your page is ready. Web pages typically load from 20 to like 200 extra files. But each of these resource needs to be downloaded, so we need to establish a TCP connection to request it! First we need the IP address associated to each domain, so we need to issue a DNS request over UDP. Then we need to create the TCP connection with that IP. The SYN+ACK part requires one roundtrip (so we know we established a connection before we attempt to send data to it), after which we can send our request and that will be another roundtrip, assuming the entire response fits in a single packet. When the response needs to be fragmented over several packets (and those a very small, usually 1500 bytes), we also need to guess the speed at which we can send that data without waiting for the other end to reply and avoid congestion. (Have you ever noticed that when you download a big file from a slow server, it starts up slow and stabilize at a faster speed later?) This overall severely impacts performance and introduce a lot more delay than just the base 500ms.
Of course, there are optimizations for all of the above. Web pages now will soon be able to serve the whole page in only one request thanks to SPDY and HTTP/2. Also the DNS problem is partaly avoided by using closer and more local caches that responds faster, and guessing what other related domains can be requested and get those as well. We also have jumbo frames to fit more data in a single packet. Modems can also cheat a little bit by assuming some stuff will happen and optimize the latency a bit by wrapping TCP in something else that can deliver those with less latency. But it will never be as fast and simple as a ground wired connection that will average more at 20ms than 400ms. Of course, we will always find ways to increase bandwidth and reduce perceived latency to reasonable levels, but it will always require a hell lot of crazy optimisations and by the time this is done, wired will also have evolved.
http://arstechnica.com/information-technology/2013/02/satellite-internet-faster-than-advertised-but-latency-still-awful/http://arstechnica.com/business/2013/01/satellite-internet-15mbps-no-matter-where-you-live-in-the-us/http://en.wikipedia.org/wiki/Satellite_Internet_access#Signal_latencyAnd that's just for latency... the bandwidth limitations still applies, and that makes satellite quite a bit pricier than cable and also comes with much smaller data caps.
TL;DR: Latency matters a lot.