If you're offering a free service to (many) users, and getting money from (relatively fewer) advertising agents/networks, you have two things going for you:
1) the people actually giving you money are professionals, who will probably pay, and more importantly, will probably pay quite a lot over a single deal/contract.
2) not having to scale your customer support to (tens of) millions of users saves you a hell of a lot of money, especially if the people doing the paying aren't the unwashed public who in general need their hands held to find caps-lock.
If you switch from 1000s of customers each paying you $millions, to 10s of millions of customers paying you $10, your support costs go through the roof: you've got to deal with customer support/retention on a much larger scale, your billing system needs to be up to the task, payment fraud will skyrocket, etc.
I'm not sure how even someone like Facebook could weather the transition from advertiser-pays to user-pays without a lot of pain and stock value implosion.
On the other hand, the ad-support argument makes sense - paying in cash rather than advertising attention for a service removes the tension between 'users' and 'customers' by making them the same person. Certainly a fee-for-service Facebook might optimize the site in completely different ways from the existing one - advertising impressions would not be a factor. However, as others have said, it would simply not be Facebook as we know it since it would have much, much fewer than the existing 750M users (1%? 10%?).
(Sidenote: USPS actually is ad-supported by bulk mail, and "heavy users subsidized" by parcel post. First class letter postage is really a nominal fee to eliminate DOS and DDOS attacks. )
Facebook never offered anything so revolutionary. It's just a well put together implementation of something that was already possible.
Now, the early days of the telephone system might have been a better comparison to use in your argument than USPS. But I think it could be easily argued that the early telephone offered something much more unique for it's time than Facebook does.
Users expect free things to act like full paid products and services including support and a recognition of their needs; free product makers understandably want to monetize their services somehow and migrate towards approaches that minimize costs and potentially alienate groups of users.
(Before we pull out the old canard that "yes, but you can add code to the open source project" to belie my comparison, that "feature" doesn't help or impact the zillions of non-programmer users of various tools and services out there who are using it for free, can't contribute via code, but expect to be heard because they are users (and yes, they can contribute translations, docs, etc but again, most don't).)
I think this is a never ending conflict: users will always want free stuff. Back in the 80s, packaged software got hammered on BBS forums (what we used instead of HN) for making users pay for upgrades, even minor version numbers. Users assumed that if they paid once, all upgrades should be free, even if they delivered new functionality not originally mentioned for the purchased version. Companies needed recurring revenue to pay for increasingly complex development costs between major versions (well, and some were just greedy). And so it goes.
Even if some ideas don't stick, this conflict has driven innovations in micropayments, ad targeting, and even sponsorships. So, if nothing else, it's a fun fight to watch.
Unfortunately, with the exception of open source contributors, that attention is non-transferable, so while the instinct is quite reasonable from the user, it does nothing to help defray the costs of building the free product to begin with.
Peer balancining: producers earn free credits for consumption. This is how Internet backbone peering and Team Fortress 2 work.
Freemium, or light users are too cheap to meter, while heavy users pay. This powered Zynga's IPO and many prosumer niches like Photography and web analytics.
Open core with professional services for customization or support (a mix of Freemium and free software). Cloudera.
Surely free services have always come with a catch, since the dawn of time?