The way I look at it, someone is paid not only to get through the job, but also have the experience to say 'this'll take normally 3 weeks, but if it's as simple as possible, 1 week, and if I have to start from scratch, 5 weeks
That's great, but that only works if you have all the information you need and full exposure of all the issues. If you're not capable of understanding that then.. well.. it'd be byebye if I were in charge. Pig headed PMs who can't be bothered to listen to their staff shouldn't resort to bullying them instead.
It's precisely because I have a large amount of experience that I can forsee many possible problems and what THEY in turn might take to solve.
There are two kinds of PM - those who work for their team and get them what they need to do their job; and those who work for their own managers whipping the team.
Guess which one works out better?
In the above scenario, the good PM's I've worked with will ask about the various different scenarios and on what they depend. So they can present a thorough report on the risks and their impacts to the management. Of course, that's extra work, as they have to learn about the issues and figure out how to phrase it and set it all out clearly for a decision. Bad ones are lazy, they just want to put a number in MS Project and will batter you until they get one.
Writing software is not like building a wall. You can't say one man can lay X bricks an hour so if we have Y men and need Z bricks it'll take z/(y*x). It's just not like that any more.