I'm gonna have to add 2 other factors:
1. The enormous # of projects out there being run by inexperienced Project Managers.
2. Tolerance to lots of change (which mainly relates to your point: We specify our requirements unclearly).
PM Hut - The Project Management Hut
http://www.pmhut.com