You can have all of those things and they might help, but the main reason for failure is the budget. No money = loss of motivation 99.9999% of the time,
Funding is not easy, especially nowadays when everyone is struggling with money.
If I could suggest I would be rich by now. Unfortunately the few funding you might get are related to dark things, like for example investing in gambling, crypto or AI. So I can never access funding, because I avoid to build games that give issue to people instead of giving happiness.
I'd say the main failure isn't money or budget, but the scope of the project itself. The fact that the majority of these Indie development teams are trying to create MMORPGs is a definite problem, and usually leads to failure.
Project scope is the biggest pitfall to any development process, people need to realize that all of these games they're wanting to create took another studio with 40 employees 3 years to make.
That for sure, but if you want to create a commercial game, it's very likely that it will take a few months of works, especially if the people are not professionals (professional developers very rarely will work on a revenue share project of random people). Therefore no one would even take into consideration to develop even a simple game.