Well, this is the way I understand it (at least the view from one local ISP I work with a lot)
Say you have a large ISP or hosting company. This example in particular started out as a hosting company.
In order to host all of the servers for themselves and their clients, they required a lot of bandwidth (naturally). They started out with about 600mbps worth of connections through a couple of Tier1 ISPs.
So now as they go on with their hosting business they are using about 500mbps, and charging their clients for that amount. The clients are getting a better deal then they could by normally getting a T1 or similar and can burst to higher speeds when needed. The hosting company is getting a better deal on the bandwidth because they are buying it in large amounts, so they are profitable at this point just selling hosting.
Here's where the rest of it comes in. You have someone sitting there looking at bandwidth charts realizing that on average there is 500mpbs being pushed out, but only about 50mpbs coming in. That's 550mbps of unused "back" bandwidth sitting there. (600 total - the 50 being used).
Since they are a hosting company, how do they make use of all this "back" bandwidth?
They start an ISP. Typical home, and even business users download way more than they upload, and can have cap restrictions without it hurting most of them too much. This way they can use the reverse structure (the ISP is reverse of hosting, more download, less upload) and get a much better utilization of their pipe they are paying for.
Not only that, but if the network is set up right, and they have a lot of customers on their DSL or Dialup, etc. they can keep some of the hosting bandwidth from ever hitting the Internet pipe, (because it goes straight from the hosted servers to the users, all without touching the Tier1 network) which means (almost) free money for them all the way around. (Not using bandwidth in the pipe for hosting or the DSL customer)
That's essentially why upload speed costs more than download speed from a connection standpoint, it costs the ISP more money because they can't then use that bandwidth for hosting.