Pros
It has a very friendly atmosphere. Everyone is very willing to help, offer explanations, or walk you through a process so you have a thorough understanding not only of what to do but why you are doing it. The atmosphere is very convivial, and if you're young, you'll have a large peer group. The facilities are beautiful, which makes being at the office more enjoyable. The job is low stress; you leave your work at the end of the day. The benefits are good, including the discount.
Cons
Advancement is primarily based on longevity. It seems like many people obtained their management positions as the company grew below them. This fosters a non-competitive atmosphere, and one where most people in management positions have a long history, and usually a great love of the company. However, there's something of a tribal mentality, and you don't stand much chance of advancing very quickly. The easiest way to move up is to have the person above you quit. If someone several rungs above moves positions, everyone below is reshuffled. If you're willing to stay with the company a long time, you'll move up eventually, but even if you're performing well, the opportunities to grow even without advancement are limited. The benefits are good, and the discount, but the salary isn't, at least in the lower rungs.