Great food for thought John!

Although I would define failure differently.  I think failure is not delivering on the promise of the project.  Schedules and budgets are best guess estimates and need to be constantly monitored.  They have to be constantly looked at and adjusted given the actual circumstances because of exactly what you suggest - the more complex the project the more impossible it is to predict how it will go.  If things go too far off course the best choice may not be to adjust but rather to cancel the project and cut your losses.

I do think a project manager is failing when they consistently go over budget and miss deadlines.  More often that not you can see the failure coming and a great project manager will be ahead of the breakdown and adjusting accordingly rather than trying to clean up the mess (or justifying the breakdown) after the fact.

The single biggest source of complex project failure I have seen though is a lack of leadership, specifically a lack of successfully managing the relationships among the groups who have to work together, and keeping everyone's attention on and commitment to the outcome of the overall project.  In the absence of leadership people tend to succumb to the natural tendency to get tunnel vision from focusing on their individual success as a function of doing their part rather than doing whatever it takes to deliver on the promise of the project.