Some do. Unfortunately quite a lot of those are either spending other people's money or have a poor grasp on their own finances. In some ways it's going back to the arcade model where a small currency unit buys you a few minutes of entertainment, rather than a big upfront investment buying you hours.
The money is earned on whales. I think on average, about 3% of F2P players pay, but those who do spend a large ammount of money on the game. The others simply wait. What I find more worrying is that so many play the bad free games instead of paying 3 bucks and get a "real" game.
"Your imaginary software racecar needs repairs! Wait 45 minutes or pay $2.99 and we'll set the 'repaired' variable to true."
People really do this?