Also, what a lot of posters are forgetting is that software is involved in "real" engineering. The work BP is doing isn't happening by the seat of their pants; real numbers are being crunched, supplies are moving along the chain and simulations are running. It's not happening with slide rules and ledgers either: there are software applications enabling all this work they're doing.
A significant portion of physical engineering these days is delegated to software and it needs to engineered properly just like the rest of the system. If the software controlling a chlorine extraction process fails and vents toxic gas, the result is every bit as tragic as if a mechanical engineer had specified the wrong pipe material and that was the fault that released the gas.
I write code that directly controls physical equipment. I work specifically for the Software Development department and we are the only people who have control & responsibility for software. While the electronic aspect of the systems are controlled by our EEs, Software has complete responsibility for the code.
Wholly new software projects are not as common as you seem to suggest. Genuinely new stuff gets published in journals (just like "real" engineering), not many software engineers are creating new type systems, file systems, concurrency models, etc.
Some engineering disciplines may move more slowly than others, especially those for which the cost of failure is extremely high, but it's not as radically different as you suggest.