Avantages
Cool projects if you like doing actual technical work. You have to really do the work though because there are a lot of others who just label themselves as project managers and don't contribute to the technical work.
Inconvénients
No way up the ladder unless you have connections. The pay is much lower than what you can get for the same type of work and required skills at another company unless you have connections. Even then, because there are no bonuses and no stock options for individual contributors, you're better off working at a non-government contracting company. Plus, too much dead wood lying around. Layoffs help remove the dead wood, but sometimes they cut down some fine foliage in the process. Although I've never been laid off, I have seen a lot of good people go while the poorly skilled workers remain via connections.