Pros
If you want to be a great engineer: you'll get encouragement, support and recognition. How many employers can you say that of? If you want to work on X, management will sincerely try to get you the chance to work on X. Which for a consulting company is not easy. You get to introduce new technologies/stacks to clients, and that's exciting. Projects for clients are Lab managed - no T&M work. Smart, effective, interesting people make a culture that's somewhere between a startup and a consulting co, a good balance.
Cons
The project model is evolving, and the methodology can be onerous as the kinks are worked out. That said, being on Lab managed projects is a whole lot better that being a resource on a client-managed project. New technologies are risky, and Lab eats that risk, which can be stressful.