When I *really* don't like something, I vote with my dollars AND by influencing others not to spend their dollars either.
I'm sure EA would greatly prefer if dissatisfied customers merely voted with their dollars, but kept quiet so as not to build a public awareness and cause others to do the same. Well, that's not how things work, especially in the modern times of widespread internet connectivity and online social networking.
I personally don't play video games much. But I recently tried a few on an iPad. My first experience, Plants vs Zombies, was fun. It seems to have been designed before this in-game purchasing became a big deal. But then I tried another, and another, and yet another... and it quickly became clear they were designed to force you to make in-game purchases. One even had 3 times of in-game resources, plus 2 types of time limits, which you could pay your way around.
Those games just aren't much fun. That's the problem. if you don't pony up real money, they're incredibly boring and repetitive... pretty much being stuck in a purgatory of inadequate resources to play the game. I tried paying on a couple. Guess what... then you've got everything you need and the game quickly becomes not very interesting either. It's a low quality experience either way.
When you make a poor product, word gets out. When an entire industry moves in a direction that's initially profitable, but ultimately results in poor products that people don't enjoy, eventually the marketplace wises up and demand for those products declines or evaporates. That's simply how free markets work.
Critical public commentary is simply part of that free market process. EA may not like it, but that's too bad. Sooner or later, as enough people vote with their dollars, EA will respond with better products, rather than wishing their dissatisfied customers would quietly go away.