It's all about bandwidth - hosting via your ISP is the simplest and cheapest option by far - but it's only viable for limited traffic. My uplink is 1.3mbps, so it won't handle much traffic (though I can pay to increase this to 2.3mbps for a few quid a month extra).
If you need more then you get into the more expensive territory of leasing dedicated lines, linking you directly to a datacentre closer to the backbone (often in London). Or, just hire a machine in said datacentres and administer remotely.
If you've got really big money then you set up your own datacentre wherever you like (often near a source of ready power, which is why google keeps eyeing up hydroelectric dams) and dig up miles of roads and fields to put in fibre optic links to core bits of internet infrastructure.
One of my friends has the job of organising this kind of thing for linking the big banks, and often ends up digging up long stretchs alongside the M3 or M4 for cabling.
http://www.youtube.com/watch?v=zRwPSFpLX8IInteresting stuff
