Pros
Variety of work, great environment to work in and most of all great people to work with. Excellent experience and opportunities to better yourself and to set yourself up for a career with a different company.
Cons
Unrealistic expectations of your job duties, management picking favorites and usually when they do, later on down the road someone else is their favorite. Lack of communication within the departments from management. This could be because there are too many "management" positions. Lack of on the job training. Once you reach a certain pay level, you are kicked to the curb. After 6 years of being loyal and working many hours of overtime to help management look good, promoted to a supervisor position, pushed to go on vacation and after I returned was laid off for no "real" reason.