I spent all 2021 working on a project with 10 other developers plus management. Another team was building a replacement at the same time. The existing project was a non-starter for technical and political reasons.
The existing project didn't have many real deliverables. The majority of the work was refactoring that would only pay off if we had years of usage of the original product.
Maybe it makes sense that it was better to throw literally millions of dollars at that project to keep the developers busy until the new project was ready to scale up.
It's a total waste of money but it doesn't matter as long as they have an excuse that works for their boss. It's all about plausible deniability.
Plausible deniability is also why higher-ups will buy expensive, bloated, enterprise software/hardware. If something goes wrong they can at least claim they bought "industry standard software". Which is something that can be fed to non-technical C-level execs and board members.
I'd venture to guess most software teams could be replaced with a team of talented engineers 1/4th their size. However, that will never happen. Why? Shrinking your team psychologically signals to your boss that you're less important. Also, you want extra redundancy because that makes each team member more replaceable.
You also don't want to accelerate development too much, otherwise you might end up with a pace that is unsustainable. This risks missed deadlines. It's better to keep engineers occupied with firefighting and rally the troops only if you need a burst of productivity.
I'm not saying I support this but this is what I've figured out in my time as a software developer on a wide variety of teams.