Pros
When they assumed the contract they were working on, salaries were maintained and some people (myself included) were given credit for years worked for previous contractor towards determining leave accrual. Rumor has it that this was a demand by Federal management however.
Cons
Horrible communications. Dreadful intranet with dead links all over. Tuition reimbursement amount is a joke, as is the process to get it. They claim they will reimburse for classes taken in a degree related to your work, but they only reimburse for the classes relevant. You're screwed if you want them to pay for that English/Humanities course that is required for your IT degree. Forget about other training. They've got some BS on their intranet, but it's entirely useless. You will be expected to Google and self-educate for solutions. You will be held liable for new systems they introduce with no training. When you do figure something out, it will be changed. (This is at least partially the fault of Federal management). Never will a course like SANS be paid for up front. Raises don't even cover inflation. Opportunities for promotion are nearly non-existent. When they do happen, you will be told "it's a lateral move, so no raise". Various teams on the same contract are treated differently. One team gets a small gift for Chinese New Year, two other teams (at least) get ignored. There will never be a situation where you will be defended against management, especially Federal management. No matter how stupid and egregious the ideas and actions of those up the food chain, this company will not say no, unless it hurts their bottom line. Benefits and time off are pretty much industry standard.