They do not care about their service quality. They only care about delivering something to the customer, it does not matter if the product works or not. They prefer the product not to work, so they extend their time with the project and increase their income. It's very frustrating to technical people who seek doing a good job to work there.
Their allocation of people in each project is also very innapropriate. People with close to zero experience in the field of the project become technical leaders who don't know how to design a good solution, just because they have a "senior" position.
The company lacks transparency and tricks many people. Every person is treated differently in several negative ways and if you want to stay comfortable you have to become friends with top managers. They do not recognize your efforts more than giving you some yearly feedback of 5 stars (and bragging about it as it was too hard to give you that virtual grade) and an increase of a dinner or two per month when you complain about being overloaded. Customers often display more recognition to your work than internal managers.
Most managers have zero idea of what technical people are delivering, even on a macro functional level. If things are working for them (because somebody else is doing something they don't understand, so they just let it happen), they will not care if you're overloaded of has absorbed responsibilities you should not (because who should do it is incompetent or has left the company).
Their benefit plan is also tricky. For certain positions they offer a rental car, which you cannot resign later if you accept it. They don't say that in advance. If you don't want the car, you would also need to ask what they offer in exchange, otherwise they will not suggest anything. Other "special" benefits are also kind of a trap.
They pay the least they can to you and still try to convince you to stay when you present a significantly better offer and they refuse to cover it. They try to win by making you tired of listening to them.