One problem is that the price paid for transport (bytes to and from the Internet) by providers is done on a very different model than consumers.
At the carrier level, we pay on a "burstable billing"
model. The amount we pay for transport is set by the top 95% of use in any given 15-minute period. The amount we pay is somewhere between $5 and $15 per megabit on this 95% traffic depending on the carrier.
Here is the disconnect. The price we pay for transport is not at all the same model as what we charge our customers (flat rate per month with the price adjusted for the speed of the connection).
Our costliest customer is the 5M customer who does bittorrent 24/7. He raises our baseline by 5M because he raises our PEAKS by that much. His transport can cost us $75/mo. for a connection that generates $24/mo. Not a good way to stay in business!
At Paxio, we do not have caps, but we do have a "fair use" policy. If we have a customer who torrents excessively we call him and ask him to throttle down his connection a bit. (Most don't even realize they are seeding 24/7 -- at least that's what they tell us!)
As long as Internet providers need to pay for transport on the "burstable billing" model there will always be some tension between providers and users.