My response to "just don't buy them":

1) "Whales" keep nearly all of these games going. "Vote with your wallet" is a misnomer because in typical democratic systems a vote is a vote; but capitalism isn't a democracy and a very small portion of the playerbase will actually sustain the game near-singlehandedly. Its not a situation where enough people don't buy it and the game company changes; its a situation where enough people don't buy it, and are missing out on a piece of the game due to not buying it, while the elite 0.1% buy everything.

2) "They don't alter gameplay". That's an interesting argument. Take a game like Animal Crossing; would being able to buy a sweet ass new table for your house "alter gameplay"? Isn't aesthetic the gameplay? I truly and deeply believe that its difficult to draw this line in any game; where the "gameplay" stops and suddenly the "stuff that doesn't matter so sell it" starts; if the product has value, such that people buy it, then it must be an important part of the game. It may not affect the competitive balance, but that isn't the entire game; the developers put time into the visual aesthetic of the game, and to assert that the items are ok to sell simply because they don't affect the gameplay trivializes the items' importance.

Moreover, in a much smaller way; in every game I've played, these items do affect competitive balance. Often in subtle ways. In Valorant, having a cool gun skin can often mean eight year olds on your team asking for you to buy the gun for them, so they can use it (sometimes, promising a re-buy in return, then not doing it lol). In Apex Legends, some hero outfits legitimately camouflage you with the environment than others. In Dead By Daylight, the Feng Ming wearing the bright pink jacket will be tunneled by the killer more than everyone else wearing drab browns and torn jeans. To assert "the way you look doesn't impact the gameplay" is trivially and wholly, if not sometimes subtly, incorrect; games are visual, looking good asserts a socioeconomic power structure which can impact team cooperation, all of this does matter.

But, to clarify; gaming companies need to make money. For online service games, its not enough to just sell the game for $70 and call it good for life; even doing so can be a death sentence for the game, as the barrier to entry is so high no one joins in to even play. Loot boxes are extremely bad, and games which sell them should be held to the same legal standards as gambling (Overwatch, Apex Legends, Rocket League, DOTA2, CS:GO, etc). A cash-for-item storefront is better (Fortnite, Valorant, Warzone, Dead by Daylight, Sea of Thieves, Halo Infinite, etc). Battle Passes are probably one of the best solutions I've seen yet; they're effectively an optional subscription service to the game, with resetting progression (players love progression). Pure subscription services are rare, but also a great solution; CS:GO has one, but WoW was the better example; there was a time when you simply paid to play, and everything cool you could get was bundled into that subscription. Today, things have changed, and they're double-dipping revenue models, like most of the games listed above.