Imagining building a bridge and then in the middle someone comes along and says it should also be a tunnel. I think therein lies a main difference to engineering and software engineering: planning and sticking to a plan.
Another thing are incentives: real engineering has real incentives to do it right, else you will get sued - by the families of those that died. Software engineering does not have this incentive to get it right.