Management has no clue what is going on underneath them. I know someone who once wrote nothing but an insult of his manager for his annual performance self assessment. The manager didn't even notice. Once a year, we get one "performance and development report" and it has one rating on it with the vast majority of employees getting the exact same rating. I have had years when I have been told I am a top performer and am flat out better than my coworkers. I have also had years where I have accomplished very little of significant value. Every year I get the exact same assessment. Management decides what kind of employee you are in the first year you work here and is too arrogant to consider the possibility that their initial judgement might not be perfect.
Senior management has been cutting benefits annually to boost profit margins in the face of future funding reductions from government contracts. Annual raises have been pathetically small for the last three years, even though the wider industry for software engineers has not softened as much as for other defense industry employees. For employees with less than 10 years of experience, it is all but impossible to be promoted unless you are politically well connected. Strangely, older employees are still being promoted under the old IBM system of "reach x years of service and be promoted to level y." I guess budget constraints don't apply to members of the good ole boys club.