Pros
Great benefits and environment. For the most part if you do your work you won't experience the "boss breathing down your neck" . Feel a great sense of trust from my bosses. Environment is what you make it, generally have worked with great people and had fun at work with very little problems.
Cons
Depending on the team you are on there isn't much movement off the team if you're interested in changing domains. The longer your tenure the less likely you're going to leave. As a developer mixing it up and doing more interesting things is what you want as part of your day to day as spending time out of work can be hard, so while I understand it's a business need it leads to developers that lack motivation or interest in what they are doing. I find you get stuck in a rut if you are in the same area for too long.