Something often overlooked in cost/schedule estimates is the nature of joint probability of actions slipping. Action A slips and causes action B to slip. I think software is tougher to estimate because the number of interfaces is often much higher, and sometimes more hidden, than in hardware.
as opposed to say building a house where framing can totally slip while we run electricity and build a roof floating in mid-air
software is only tougher to estimate if incompetent people (vast majority of the industry, like 4+ million) is doing the estimating :)