In my opinion, this topic is really simple.

For a game to be fair, every player needs to be on the same leve. As such, my personal life and how much money I have in RL should not affect in any way my performance in-game, or how much money I can make in-game. The same goes for time. Someone casual can't expect to have as much as a hardcore player with less play time. If I want to get something, I need to play for it, since this is a game.

The same thing goes for cash shops, even cosmetical.
I'd prefer to have a chance to get everything the game has to offer with playtime instead of RL money, even if it doesnt serve a purpose.

Keep in-game what is for the game. Don't throw RL in there.