The "constant problem" of buggy games isn't solely because people are pre-ordering them and the fat cats at the top are pocketing the money to funnel into their investors. And if anything, with the way things have been going, pre-ordering may be the only way to keep the game development going longer than it would've normally gone. Games of this scope and magnitude are complicated beasts, especially when you're trying to push the latest and greatest tech. If anything, a more likely explanation for what happened with Cyberpunk 2077 was feature creep. It was developed as a "last gen" game, but someone decided to take on "next gen" features. I'm sure if they didn't bother with PS5/XBS/Stadia support and stuck with PS4/XB1/PC as their targets, the core of the game would've been a lot more polished. Then they could release an updated re-release later. Or they could've dropped PS4/XB1 support altogether and promised those versions at a later date. But nope, someone higher up demanded that they support six versions of the game all at once.
Also simple mistakes like the "AMD bug" happen all the time. Heartbleed in OpenSSL was due to a bounds checking bug that was fixed with literally a single character change. You try maintaining a huge project with over 100,000 lines of code some time.
EDIT: I should also point out that most big name stores now don't charge people until the game actually has a hard launch date and it's about a week before said launch.