"1) The overwhelming majority of the time, the programmer is not in control of key aspects of the development process, all of which cause bugs. Examples include determining the deadlines (rushed code = buggy code), determining the required hours (overworked programmer = buggy code), determining the right amount of QA resources (too little investment in QA = buggy code), and enforcing requirement stability (changing requirements during development = buggy code)."
And that's they lie developers tell to themselves that executives love the most: that somebody setting a deadline somehow makes it a law in stone. You promised it for tomorrow? You code it, or else, it'll be done when it's done, and not a minute earlier.