Pros
I'm going to be straight forward - it's very easy for me to rate this company highly because the department I'm in is a really great department. I can easily see how your experience can vary greatly depending on which department you're working. I really enjoy working in R&D. I work in an awesome new building, with a lot of smart and talented people, and when I do get annoyed, it's the same stuff that would likely come up at any other company because that's just how software development is. My managers not only actively listen to me, but seek out my ideas. When they don't agree, they tell me and tell me why they don't agree. Sure, change may not be happening as quickly as I would like, but in the 2 years I've been here I can actually say that things are changing.
Cons
The biggest con that I have found is that toxic people are tolerated too much. Their attitudes bring everyone down and in some environments like the 24/7 call center and the over-traveled implementation team, that kind of attitude really is no fun for anyone. Within the R&D development teams there's this odd mix of employees that have been there forever and new people. It can be difficult finding your footing when the new people want to drastically change things, the old people may not want to change things at all, and management is encouraging us to change, but do it in a controlled effort. It can cause some stresses, disagreements, and discontent. It's not easy, but when I was hired they were clear that it's not easy and eventually I found my footing and have really come to like working here.