Pros
The benefits are good: free/cheap medical, pension, 100% education cost, lay back working environment. You can tag along without working too hard, just 9 to 5. Expect a 2 to 5% raise every year as long as you don't screw up badly. Expect profit sharing as a percentage of your salary: everyone gets the same % as long as he doesn't screw up badly.
Cons
Job Security: the government is the only buyer for defense projects, if the contract is lost/over then you are out of luck and might be offered a transfer to say... New Mexico. Lack of Passion: In defense, there are a lot of engineers who are too complacent and too unmotivated to make any kind of effort to better their work. They might have years of experiences but its years of sitting around and being complacent. Every project has 2 or 3 really excellent engineers but they eventually get tired of the rest of the deadwood. Big company issues: Internal competition and finger pointing with other groups and sites on the same project. Compensation: It seems like the older you are, the more you get paid. Working hard doesn't increase you salary as fast and as much as you think. Union: Some union employees won't work a minute extra to help you. They are very hard to deal with if you want to get something done fast.