Pros
My current management team allows me to be extremely flexible. I am part of a small client site team, which is preferable to the larger client based team I came from. My current client is amazing. Your client determines much of your happiness at this company. If you can find the time and receive approval from your management they do offer a lot of training. Everyone I've met as Booz Allen has been very nice. The health care benefits are great compared to many other companies in the DC area.
Cons
While nice, most people, especially management won't go out of their way for you. You are entirely responsible for remaining billable and seeking billable work, which can make the environment very cut throat. Overtime is expected all the time, not occasionally. The "work hard, play hard" mentality of rewarding hard working employees is long gone. Raises are contingent upon if your client agrees to the increase. The ability to occasionally work from home - for me - has never become the reality. My last contract did not allow for a good work-life balance, the client was awful, and I was pressured to not find a position more in line with my qualifications because they didn't want to have to find a replacement. I wasn't allowed to truly consult and provide recommendations or improve the processes I was hired to do so. Every time corporate takes away another benefit they try to "sell" the employees on how great it is to be more "aligned" to the rest of the industry. When I joined the company they had consistently been on the top 100 companies to work for. Not so anymore.