Poor pay, poor management in general, poor use of technology.
Lots of dead wood, taking up space. Expects lots of bureaucracy due to people (read senior management) attempting to justify their place on the "team". Developer workstations are sub-par compared to other companies, and so are the servers. 30MB mailboxes in 2008 shows you why. Fighting or changing "the system" is not for the faint-hearted.
Attrition rates are above industry average - a team can churn every 2-3 years; seen this personally and this is one of the biggest reasons for low employee morale. Counteroffers are often absurd and out of line with market rates leaving one bewildered on whether management is delusional or not. It is impossible to refer anyone with good experience to work here, unless you want to destroy your relationship with them. The role of HR in this organization is unclear - either this department is incompetent or helpless or both.
Lack of clearly defined roles is a problem that has always plagued most teams, with very few people able to establish themselves in a particular role, resulting in team churn.
No visible career path. When everyone is an associate, a consultant or a senior, it becomes really difficult to specialize in a specific domain. Expect to see yourself tossed around, from one assignment to another, picking up skills that are totally unrelated to each other, or that are just not in demand. This often happens (ending in attrition), unless you are a specialist.
There is no engineering culture. Data, facts and information are thrown to the wind, resulting in uninformed decisions being taken, all of which result in monetary loss, either to the company or to the clients. Needless to say, it is "dead wood" at work here.
With the absence of an engineering culture, comes the absence of a good enough process for developing software - expect to see requirements arrive at your desk, during testing. You could even be expected to use tools/techniques that today's developer would simply laugh at.