Pros
Your co-workers for the most part are nice people. The hours put in are very flexible around your schedule and management is usually semi reasonable about things.
Cons
There is a certain element of unprofessionalism that runs deep in the company. For example, when it comes to promotions and hiring a lot of times there is clear favoritism even before they have the interviews. Additionally, things that are supposed to be kept private such as reasons why someone was fired or penalized are talked about openly. Furthermore, a lot of times the person who is raised to management level isn't the most competent rather the most well friendly with the interviewers. In addition, there's a bunch of nasty rumors spread about people and it really feels like being back in high school.