But isn't there a problem with the definition of success? Is a project that meets all its "requirements", but is immediately discarded after delivery, a success or failure? Is a project that is over budget, late, and buggy, but immediately has customers clamouring for improvements, a success or failure?

I think we lack a language to describe how long complex projects take, or how the definition of success may change during execution. I have seen work lost to someone who claims they can do the work for the budget, knowing full well they can't; I have seen cases where development had good evidence for the costs that would be incurred, only to be given budget of less than a 3rd of that; and I have seen the case where no one had any idea what the cost would be, but the program was deemed a failure when it exceeded the magic number pulled out of someone's butt.

I don't think success is a fluke, and I think I have seen many very successful projects. But my trick is to stay focused on providing value to the end user, and let the cost/time/goals fight take care of itself. If nothing else it keeps the operational community on my side during the ditch/defer/do decision meetings.

If the issue was simply that bad things happen to good projects, then it would be a simple case of management reserve. I have never known a housing project to fit in the "2 weeks" the builder always promises.