Pros
Flexible work schedule. Great for single people or childless people (lots of travel and long working hours) Cool projects and project work. Most project teams are pretty easy to work with (others can be pretty tough to work under).
Cons
Corporate culture changes like clockwork every 2-3 years. Company moves in new directions to attain short-term goals, generally sacrificing long-term benefits and jeopardizing employee retention in the process. Constant under appreciation and compensation for employees. Structured pay scale compensation increases (based on years experience NOT on skill/knowledge/competency/value). this usually leads to the more talented employees leaving to go elsewhere for increased recognition from higher ups or better pay/benefits. Company is very focused on billability and 100% utilization of employees and does not provide training for new hires. Training falls on more experienced employees to bring along the new folks so they can be used on that projects future work.