I've worked on a total of perhaps fifty projects and I'd judge 1/3rd as failures for many reasons - no business value, dysfunctional team. Sometimes one guy, often the "king geek", derails it.
The project was a commercial product for small IT companies. There was an industry standard to follow, but a commercial product should still have flexibility in behavior, ("multi-tenant")
Mofo was a cowboy coder which is fine for simple, ad-hoc projects but not so much for a complex one. He wrote our core engine for an exacting industry spec as, yup, a Big Ball of Mud pattern. And Mofo was good at defending his territory, getting the hires before and after me fired because they were supposed to be backups to reduce his political power. He tried to sandbag me, too but I bypassed him like I usually do. :)
The BBM worked okay until we added real customers. Our demos were vetted because they were time-consuming so we expected a high adoption rate. Our first prospect went well and they signed up for our service. The next wanted a minor change and Mofo reviewed it... "Nope. I can't do that. Too much stuff will break".
And so it began...
"Nope, I can't change this".
"Nope, I can't do that".
Opportunity after opportunity slipped by, vetoed by the Big Ball of Mud! I realized after a few months that the company was caught in limbo, where it languishes today; enough cash flow to survive but not succeed.
Ironically I wrote the multi-host security of his core code and he'd complained it was "wrong for C++" because I'd used canonical design pattern; but it handled new additions fine and his code didn't.