I worked for a company that was so mismanaged that the management frequently didn't even bother to tell the software team that they needed some software written until after it was due. Naturally, they blamed us for the software's late delivery... this is also a company that had an entirely pointless dress code (i.e. no shorts even if you're just in the office and not seeing a customer), and no developers in the hall with the management and executives... and the list goes on.
I got a new job with a relocation package, so I had six weeks of notice. I waited until my last day at work to e-mail the director of HR that I was leaving and that was going to be my last day. She called me and asked me about it, and I gave her quite an earful before I left.
A developer at Amazon got pissed off at his management for not letting his team fix some problems that could lead to crashes, because new features were (politically) more important.
When he got page in the middle of the night because of a crash caused by the very problem that he'd been pushing to get fixed for months, his response was to send an e-mail to his manager saying he wasn't coming back to work.
Corporations only think that they can get away with this sort of double standard because the people working for them allow it.
My coworkers have been good references, so I haven't lost anything by burning those bridges.