I've been a commercial software dev since I was 16 years old (48 now). I can only give you my experience.
During that time, software development hasn't really changed all that much. Sure, the technologies we use have evolved and changed etc, but the actual processes remain much the same... and they're "borrowed" from hardware engineering principles. Games development a bit less so - as that tends to be more ad-hoc and agile in nature.
What tends to happen at the start of a project is you define your product in three basic areas -
1) the core functionality (the stuff that the product has to have & has to work, no arguments).
2) the nice to have (what sets your product apart from the competition and what you can market as a selling point).
3) the dreaded WIBNIFs (wouldn't it be nice if?).
WIBNIFs tend to come from random thoughts that get shouted out during brainstorming sessions, and you want to capture, so they go into the plan. They're not crucial for the product to work - but they're "cool" and could be elevated to "nice to haves" if done well. They can also turn your project into something truly special.
So a developer might get a single sprint (say 2 weeks) to work on the WIBNIF, but if it's not done, or doesn't work well enough, it gets thrown away. This is absolutely normal and OK. I've had arguments with project managers before now who say that is a waste of money - and I get that, however even if you end up throwing all that code and effort away, you learn from the experience and carry that over into the next unit of work... which might be a piece of core functionality. The experience of "failure" stands you in better stead for that.
A good project manager not only doubles a developer's estimate (because we are, on the whole, really bad at it), but keeps their eye on the ball in terms of those three areas. The worst thing that can happen to a project is that it gets overtaken by WIBNIFs (see Star Citizen) because it will likely never be released. You'll always come up with new WIBNIFs to add to the pile. Scope creep is the enemy of all software, regardless of what it is. But you also have to balance that with being agile and flexible as needs change.
This is why I think something like Red Dead Redemption 2 is a modern software engineering masterpiece (I'll die on this hill). They not only captured the first two criteria well, but were able to put enough WIBNIFs in that makes it something special. So few games (or even pieces of software generally) are able to do this.
It worries me a bit that CDPR have delayed the game by another three weeks, because the only thing that should really do that is if the core functionality is broken on some platforms. That's a bit concerning to me.