So there is a standard argument developers make for this. They're wrong, but I'll articulate it because I think it's worth articulating.
Some people have more time than money and for other people it's reversed. You design a game to meter out rewards based on time spent for the former group and provide a fast-track for the latter group. Allowing people to spend money to get certain rewards is just a way to allow people who are too busy to sink that kind of time into the game to also be able to participate. Moreover, if the desire to buy stuff for real money is there, the market will provide. If we, the developers, don't build that function in then the niche will be occupied by dodgy black and gray market deals like those gold farming outfits in Diablo II and World of Warcraft.
The counterpoint, of course, is that they're designing the games to meter out "fun" as a function of time spent specifically because they're trying to keep you stuck in an addiction loop. The "just use real money as a shortcut through the nonsense" takes Skinner box game design as a given, but the Skinner box is what we're trying to discourage, not the exchange of money.