Pros
Could be quite interesting for beginners, if you're in the team for their biggest client. You might have some travel opportunities, depending on the client you're working on, flexible working hours, decent remuneration, you can work from home, they offer decent health benefits.
Cons
1) Lack of professional training, people are rather bored whenever they hear they have to train someone new. 2) Romantic relationships between managers and direct reports seem to be encouraged (or a blind is eye is turned) even though there are complaints about this kind of behavior: in some teams the preferential treatment is more than obvious, and it's not because of the good performances of the employees, it's because they're involved with their supervisor. 3) New employees have better benefits than the older employees. 4) It's encouraged to keep a non-productive resource in the team, even the overall productivity is impacted. 5) You can work as much as it's needed and even put in some more extra time and do your job more than fine - 'cause keeping the client happy is the ultimate goal, but as an employee you'd still feel unappreciated. Colleagues that don't do their job or are involved with someone with more importance in the company are promoted and have access to some benefits easier than the rest of the team - and it's just not fair. 6) No real opportunity to grow and evolve