Pros
Generally speaking, you get opportunities to work with some good people and maybe even on a good project, depending on the customer availability. Not a whole lot of micromanaging or anyone breathing down your neck. Depending on project availability, can be a solid place for entry-level professionals.
Cons
It's clear that upper management sees its employees purely as resources for maximizing profits. Many a marketing effort is put into projecting the image of a dynamic and exciting place to work, but the management decisions made by the higher ups do not reflect those values.
Opportunities to grow exists purely within the framework of what customer projects are available and economic downturns are weathered with layoffs over and over again.