They Clcost a lot of money to make, mostly due to the graphics arms race. The price required to make these games profitable would be much higher than the current price of AAA games.
Graphics would not justify significantly higher prices, and AAA studios know this. So instead they use the techniques to make more money without raising the base price:
Trying to make a sustainable living as an indie developer is hard. The industry is packed with lots of competition, and drive prices people are willing to pay very low. Therefore, I don't blame indies for their monetization strategies, even if I consider them unethical or tainting the game design.
The goal of the above is to allow players to determine if they enjoy the game without putting money down, and to ensure the game design cannot be tainted by the monetization.
I think having the gameplay affected by transactions of any kind taints the game design. This is a particularly controversial take in the context of communal benefits (e.g. one person donates and all players get a 2x buff for an hour, or a persistent buff based on number of patrons), which are generally seen as ethical.