In my observation, poor general management is the primary reason for software project failure. They don't know what they really want and just fake it, and they don't want their suggestions and priorities scrutinized and evaluated because it makes them look ill-informed (which they are). Thus, resources and complexity are spent on dumb, confusing, capricious, and useless features while real features get short shifted. The best products come from IT managers and workers who work around their Dilbertian superiors to get the job done right, but are eventually canned for some form of insubordination. It's not about technology, but the coordination of technology with human perceptions and reactions to it. '''Hmm.''' Perhaps your experiences are somewhat limited. There are many, many reasons for software projects to byte the dust. General management incompetence is nowhere near the top of the pile, really. In many cases the underlying reasons manifest as bad decisions made by general management, but are really complex assemblies of mistake upon mistake that have never been corrected along the way. At the end of the skating line you have management whipped into making a terminal decision about a project that has gotten way out of hand long before the axe fell.