This isn't capitalism at its worst - it's just capitalism. Games cost tons of money to develop, and only so many games can be produced over a period of time. And, for every one title that is successful - many more fail.This is decidedly not the reason. The money goes into the devs pockets because loot crates and skins are ways A and B to squeezing the most money out of a game. Games used to come all on one cartridge/disc, no DLC or add-ons required to enjoy the full game, with [hopefully] all bugs ironed out in beta testing before launch, for a single price of like what $50? Now games have realized you can charge less (or even make the game free!) and make up the difference AND more via microtransactions and other cosmetic sales.
This is capitalism at its worst. Absolutely nobody needs 913 different gun skins. What we want is the damn bugs ironed out, the audio fixed, matchmaking cleaned up, weapons properly balanced, and new actual weapons and maps. You know, gameplay features. This is why we paid $60 for the game - not so they'd keep rolling out 50 gun skins per "season". Don't even get me started on Tracer rounds and how cartoonish those look. This game is borderlining on Fortnite more and more.
The market determines what works and what doesn't. It's obvious players will pay money for unique looks and features. Personally, I think it's pretty smart - and the direction a lot of games will go.
I'd pay more than $20 for a COD Snake Plissken skin and Uzi.