Pros
The flexible work schedule, the good pay, and the people I work with are the primary things that keep me here. I could never go back to having set start and stop times for work; I have a child now and it's wonderful to be able to take time during the day to attend something at preschool or just not try to yank her out of bed before she's ready. The pay is good, and I enjoy the work I'm doing for the most part. I think I'm one of the lucky ones in both regards. The people are nice overall, and I really enjoy working with the people on my team.
Cons
The only metric that management has is a billable hour. That leads to a lot of really stupid decisions, and they're losing good people left and right because of this. Another primary strategy is to get rid of as many US employees as possible (due to cost), so these people are not being replaced. Nobody seems to care if an employee in a different country can do the job at all. They're cheaper, so they're hired. Just like in the US, some of these folks are bright and motivated -- we don't pay competitively in those countries, so you can bet you're training them up for some other company. Others are worthless, and they'll stay around for a long time, accomplishing nothing -- but management doesn't care, because they're not in the US.