It would be better if they sold data by the GB, rather than a fixed amount by the month. I agree that people who use more data should pay more, but once you buy a GB of data there should not be a time limit on when you can use it.
With the "by the month" model, the provider gets the breakage at the end of the month -- if you buy 10GB and only use 8GB, then you've paid for 2GB that you have used. However, if you go over the 10GB, then you pay for everything you use.
A fairer model is the electric or gas company where you pay a fixed fee for the physical wires or pipes and then a per KWHr or BTU variable cost.
For the car analogy: it's like if you buy 20 gallons of gas on Monday you have to use it up by the end of week. Any gas left over you have to return to the company. If you use more than 20 gallons you have to buy it at 5x the normal price.
The caps trick consumers into thinking the per GB cost is low... but only if you use up the entire amount. In the example above, if it's $50 for 10GB, and you only use 8, then your cost per GB isn't the advertised $5, but is $6.25/GB.