Same for me. I wanted to upgrade from 3070 to 5080, but missed it. I was too afraid to wait for the 5070 TI release, so I instead bought one of the last 4070 Ti Super at MSRP.
I will stop trying to upgrade on day one. Just buy the previous gen a few months before the new one, and it will be perfectly fine.
I do not understand how such practice is still legal. No one care, and it is a plague in more and more fields (I really hope Nintendo will produce enough machines to avoid the PS5 launch fiasco which lasted 2 years).
The difference is that developers in the past were much more involved in the games. Nowadays, they are just following instructions of a few people and their scope is extremely limited.
At the same time, if a game does not sell well, they are the first to be punished, not the ones who designed the game.
Moreover, the games are not designed only by passionate people. They have to think about DLCs at the beginning, deciding which part of the whole game must be cut and how to frustrate gamers just enough to buy them. It’s no more an add-on for a game that sold very well, or adding things that could not fit into the game at the time.
Ubisoft has also a structural issue because it optimized everything too much. All their games are similar, because it’s easier to use again and again the same game structure than trying new things. Their teams are built for developing such games. Sadly, when they try they generally fail (like the last Prince of Persia or Mario & Rabbids).
But as I said, it’s not the fault of the developers themselves, but the people managing them. And those have too many constraints from people who want to make as much money as possible. Bugs are acceptable, games should be filled a with DLCs from the start, and repeat the same formula for every game so that production cost can be as low as possible. And if it fails, it’s the developers’ fault who just followed orders, even he can’t have a say about the game.