I am not sure if this is exclusive to software industry but at every job I had this was the case. Management needs some features done/bugs fixed and when deciding who's going to be the person for the job, others constantly underevaluate effort required.
"This is trivial. 2 hours max." "This one is easy, won't take much time." "This shouldn't be a problem at all."
Needless to say, it usually is a problem as features are often ill defined, bugs often lead to debugging hell or a need to setup a complex integration environment or mock.
Why is this happening? Why do software developers always seem to underevaluate their work? I think this has nothing to do with career advancement or brownnosing because usually a software developer has nowhere to advance.