Reason for "unlimited"
Blame human nature, or blame Apple, take your pick. Consumers have shown a strong preference for "unlimited" (data, calls, texts, etc.) over limited plans that offer far more than what they actually use. AT&T found that most people would pay $20 for unlimited texts rather than $15 for 1000 texts a month, even those who averaged well under 100 texts. They like certainty in their billing, even if they must pay more for that certainty.
Some blame could be pinned on Apple here for starting this for data, because they insisted AT&T allow unlimited data for the iPhone when it came out. The iPhone made much heavier use of data than previous smartphones (i.e. made it more useful, with a full browser instead of WAP, better apps, etc.) Since it is difficult to know "this website is 4MB every time I visit it" and take that into account when budgeting use, Steve Jobs didn't want iPhone users to feel restricted in that way as it would lower customer satisfaction.
You're right of course that unlimited is impractical for cellular data once everyone is using it - it can't be used in dense areas for regular internet connectivity, for instance. It only works well if not too many people are doing it - and AT&T demonstrated what happened when too many were, since for years they had all the iPhone users in the US and their network had a lot of problems as a result (that wasn't the only problem, the small size of GSM cells makes providing full coverage more difficult)