There are five primary reasons for engineers missing a deadline.
First, they were forced into a deadline they never believed in. I have seen it time and time again - upper management pushes and pushes for "sooner, faster, better" until the poor engineer just says "OK" because that will at least make the meeting end so the work can begin.
Second, one "this will only take a little time" interruption after another was dropped into the work week, and thus into the schedule. But the schedule was not revisited, almost as if work could be added and completed magically.
Third, the estimate was made without enough facts, usually meaning not enough research.
Fourth, the infamous "feature creep" where new work was added along the same path but without honestly revisiting the schedule.
Lastly, and least of all, the engineer just isn't very good at scheduling.
Note that the top four of the five above have nothing whatsoever to do with the engineer.
Full confession here - as a Product Manager, Product Marketing Manager, VP or Product Management and even as a CEO - I have been guilty of all four of them. Though I'm getting better all the time.