Pros
Interesting work. If you manage to get on the right project, it can be fun - but watch your back at all times.
Cons
Political infighting is rampant, "consultant attitude" prevalent (that is, "don't bother with doing good work, make sure that every other member of the team gets dissed and CYA while providing less than professional standard work"). Highly hierarchical structure - and whether a technical decision is deemed "right" depends more upon one's position in the hierarchy than on the facts.