Last night I started playing NFL Kicker 2013 on my iPhone, having previously been addicted to the 2012 version. The new version however only had one new feature: you could buy various power-ups / upgrades that would allow you to perform better or accelerate your progress in the game. Whilst the game was still fun, it felt lame that the game pushed so hard for me to pay for upgrades, instead of just earning them.
I've never been a massive gamer, but I remember a time when your progress in any game came down to your skill, execution & time (read: patience). I loved games like Railroad Tycoon, Age of Empires & Football Manager, because the only way to excel in the game, was to put in the time. I couldn't pay to actual money to do better.
I remember a couple of months ago, I really got stuck into Tiny Tower & I just absolutely had to build the biggest tower in the fastest way I could. So I spent about $30 chasing that pipe dream. The fun only lasted a week, before I realized that my attempts for instant gratification were futile.
In-App purchases in games just feels dirty. Why would I want to beat my friends in a game purely because I can outspend them? Where's the fun in making this a "my d%$k is bigger than yours" competition? Too superficial for me.
The best games will not need in-app purchases to "enhance" the gamer's experience and will rely on the tried & tested methods of engagement: make the game challenging & fun enough that I want to pour hours into perfecting my skills & execution.