This is the same ways most companies operate today, so it's not too surprising. Indeed, it's quite standard business practice that, yeah, engineering and marketing come up with a set of specs and deadlines, and its understood that engineering will make its best effort to deliver what's agreed upon by the deadline, but that doesn't always happen. Maybe I've been working in the wrong companies, but I can think of *very few* occasions where project schedules as *originally* set were ever actually met. What usually happens is that features are dropped as deadlines approach, and if something *has* to be shipped, if the extra features were based on software, they're promised as a downloadable field upgrade.
I'm not suggesting this is necessarily how things should be, just that in the commercial world very few schedules and specs are truly set in stone and significant "partial credit" is received for getting projects "mostly" done to spec.
Look at Microsoft: a lot of what they originally promised for Windows Vista isn't there yet, since they ran out of time to implement it... but they shipped anyway.
A pragmatic approach with your engineers is to sit down and make it clear what features of a widget are absolutely necessary, which are quite desirable but can be skipped if push comes to shove, and which really are just icing on the cake. An engineering manager who suggests that all features of a widget are equally important and all are absolutely necessary is not one that most engineers will respect.
---Joel