One of the most frequent criticisms levied against GTA Online is that it is too much of a grind, that it isn't rewarding enough, that prices are too high compared to how quickly you can acquire cash. Now, while it is true that with the right methods, building up a fortune isn't all that hard, this game does have a pretty tough economy when compared to other multiplayer experiences.
However the question arises why Rockstar chose to jack up prices and generally make it difficult to hoard large amounts of cash. The off-hand reply most haters and even fans provide is "to sell Shark Cards". Granted, there is truth in this. Shark Cards have proved to be a goldmine in terms of revenue for Rockstar, and they have funded three years worth of free DLC for the game.
No matter how much you try to get around it, the fact of the matter is that Rockstar and Take-Two are companies, not charities, so money matters. That said, upon examining GTA Online, it becomes abundantly clear that Shark Cards are not the only reason for the high prices. Rather, there is a cause rooted in the game itself. Namely, it's the fact that GTA Online has no endgame.

Think about it: the heists, which are generally considered to be the most challenging aspects of the game, are the primary method of acquiring cash due to the relatively high payouts. Heists in GTA Online could be likened to raids in traditional MMORPGs in terms of mechanics, but not in terms of role.
Raids are, in general, endgame content aimed at capped or soft-capped players who want to improve their gear for use in PvP or even tougher raids and other PvE challenges. As such, the most challenging raids and competitive play make up the endgame content of MMOs.