1. Contracting out all 'green-field' development to 'off-shore' companies because they're cheap and then using in-house staff to support and maintain the systems, resulting in the end product costing twice as much in the long run because 'cheap' doesn't mean 'quality'.
2. Not giving out at least inflationary-level pay rises or bonuses to reward hard work
3. Promoting staff to the level of incompetence.
4. Having sales and marketing people have any say in technical decisions of any kind, like for instance delivery dates.
5. Having programmers answer the phones, do technical support, deal with customers, etc. Think: cost efficiency. Every time you distract a programmer, you're loosing money.
6. Thinking that an annual performance review should be an opportunity to real off a list of anonymous criticisms and complaints against a staff member instead of dealing with the issues as and when they occur.
7. Starting work without a specification.
8. Arguing with technical staff about how long something will take.
9. Getting angry about when people turn up to work late, after they've been working all hours of the night to fix your crappy systems. Never piss off a coding monkey before they've had their coffee, they might just rip your arms off.
10. Not training your staff, keeping them doing 'what they're good at'. Stagnation results in boredom and apathy.
My company has done pretty much all of the above. I know I'm not alone.