Several underlying factors come to mind. Developers tend to be introverts. Most developers get along with other people fine, but the realm of challenging social interactions is just not their strong suit. Software schedules are typically set in negotiations between development and management or development and marketing. The deck is stacked against developers during schedule negotiations.
Developers tend to be temperamentally opposed to the use of negotiating tricks.
Such tricks offend their sense of technical accuracy and fair play. Developers don't want to offer lopsidedly high initial estimates even when they know that customers, marketers, or bosses will start with lopsidedly low bargaining positions. Because developers need to become better negotiators, I'll spend the rest of this column describing how to negotiate schedules effectively. This method has several appealing characteristics. It doesn't rely on negotiating tricks, but it explains how to respond to tricks when others use them.