Pros
Flexible time schedules; good for a summer job and for someone without much experience who wants to learn; friendly work environment, most of the time.
Cons
I didn't find there were too many opportunities to advance, nor enough recognition. Also, I didn't really feel like making an impact.