Nobody agreed what working would mean
This is the most common cause and the hardest to spot from the outside. Something gets built, it looks good in a meeting, and then somebody asks for a change. Make it shorter. Handle the French contracts. Stop it guessing at account numbers.
The change gets made, and now nobody can answer the only question that matters: is it better than it was this morning? It is different. Whether it is better becomes a matter of opinion, and opinion cannot get software approved for release.
The fix is dull and decisive. Before anything is built, you take a few hundred real cases from your own business, write down the right answer for each, and score every version against them. From then on, improvement is a number rather than an argument.