I think one thing that has worked well in free to play games is letting people purchase “cosmetic only” items, like armor or pets. This lets people who would like to spend some money on their gaming enhance their experience, but it does not give them an unfair advantage. I also think it’s okay if people spend money on experience bonuses. They progress faster, but I don’t feel like it’s unfair.
If it’s a great game, and I’m having a great time playing, I really want to support it with my dollars. By spending money, I feel like I’m contributing to the game, helping to make it better. It’s always nice to get a little something in return, a “thank you gift” of sorts. But it shouldn’t be something that gives me a huge advantage over people who don’t want to spend any money.
The truth is, even people that are playing and never spend a penny are very valuable. A game needs players, they’re the life blood of any online game. Simply logging in and spending some time in the game helps make the experience better for everybody. People who play a game and never spend any money at all should still feel like valuable members of the community, because they are. Especially if they play the game a lot and contribute in other ways, like starting a guild, or being helpful in the game.