I came across an interesting article about the four pillars of failure in (IT) project management. While I basically agree with most of what the author is saying, I would add one point. As long as the activity of tracking progress will be separate from the activity of actually performing the work, there will be deviations and therefore challenges for managing projects. Perhaps one interesting avenue would be to try to reduce the number of instances in which the reporting of progress is a separate (and additional) action from the action of performing the underlying work which justifies the progress statement. And I think that developments in the web 2.0 space provide an excellent inspiration for actually making sure that status updates result from work performed and deliverables produced. That would remove admin work from workers and at the same time provide project managers and steering committes with more accurate info.
I have no evidence stating anything about the relative performance of open source projects versus corporate projects, but I have every reason to believe open source project performance is more impressive than corporate project performance. This article is actually very interesting in that respect.