I've worked most of the past fifteen years as a developer and have seen a number of large projects go wrong. In a large company where I worked, they embarked on a major new point-of-sale project without knowing how their major product was priced. The project collapsed shortly after that was discovered. That was probably the biggest failed project I have worked on but there have been others.
The key aspect of many of these failed projects has been trying to deliver too much without sufficient oversight. Drip-feeding small successes is a great way to avoid monolithic failure.
This article from Charles Arthur at the Guardian (you might've worked out by now that I appreciate the journalism from the Guardian) shows how large projects can fail to achieve what they set out to do.
It's obviously not as simple as all that.
IT projects are hard and there are always going to be failures. It's not like other sorts of construction where you can see that there is only half the bridge built and it is due next Tuesday.