Pros
Variety of customers exposes you to many different industries. Some great people with skills and talent that you can learn from. A chance to help re-define methodologies that are more in line with client expectations and today's IT marketplace. Ability for project teams to be involved from estimating through to delivery and complete a project on time and on budget.
Cons
Mixed signals from upper management causes confusion as to direction of company. Some old-school mentality in upper management stifles the creativity and innovation suggested by the workers in the know. Everything is about the billable hour - if you're not billable, one foot out the door. Consultants pidgeon holed into positions promised to be a certain period of time then left there as long as the client wanted - minimal regard for the consultants career growth.