Pros
CACI is one of the better places I've worked. I left because I was getting "in a rut" with the project I was on, but looking back, I wished I'd tried for positions on other projects instead of leaving the company. With the way it's structured, with independent projects, different people there can have very different experiences. Mine was very positive - I liked my managers and my coworkers, felt well trained, was well supported by management without being micro-managed, flexible work schedule, good benefits, fair annual reviews and pay increases. Just a professional, well-run place.
Cons
At least in my time there, I thought they would sometimes "cut corners" in regards to hiring salaries -- so you often ended up with a grab bag of talents. It worked out well for me as they were willing to hire me with practically no experience - I was able to break into my tech career and was willing to take the lower pay to get my foot in the door. But they really got me for a bargain price, and sometimes you really do get what you pay for in terms of expertise and talent.