ChrisSD: Most free to play (F2P) games now are essentially run on the gambling model. Think more casino then traditional game dev.
The goal is to get the big spenders (called "whales") addicted to spending their cash. If someone isn't willing to spend then they are not your customer. If someone is only willing to spend a little then they are not your customer. Sure they may help with advertising but your true customers are the whales. They are what make the you money (and a lot of it in some cases).
In fact F2P can be a better money maker than casinos or gambling in general. There are strict rules on gambling and and it's legal required to give a percentage of money back. F2P games have no such rules or restrictions. Their customers don't expect to win money at any point.
I feel the need to defend F2P a bit, since the model CAN work when done right.
League of Legends is a free to play game and I think it's an example where F2P is done right. Paying money is completely optional. You can buy most of the things you need/want with the ingame currency you get by playing the game. Only exceptions are transferring your account to another server and skins for the champions, to make them look different. You can also buy boosts for EXP (to level up faster, which I think is pointless unless you really want to reach level 30 and play ranked; you get matched up with people that are around the same skill level as you anyway) or IP (which is said ingame currency, so you can buy stuff faster).
One thing you can't buy with real money is runes, which boost your stats. You can only get them by playing the game.
I think this system is incredibly fair, so, as I said, F2P can work, if the game is fun without spending money. But I guess in your example you were mostly talking about those games you find on facebook or mobile and I agree that that system is NOT fair at all. It's just a really cheap way to make money without effort. Comparing it to gambling is actually a pretty good simile.