Pros
The benefits are good, the work environment is relaxed (casual dress code, foosball tables, etc.), and the offices are newly remodeled and modern. The CEO seems friendly and invested in his employees and their happiness with their job; he regularly stops by a lunchroom to talk to people. The work day hours are flexible. Working from home when necessary is not a problem. Since I was hired, I've seen the company go through some major changes (including the ousting of a truly inefficient CIO), and things have gotten consistently better. Now the promotion and raise system is firmly scheduled and has open, fair requirements. After a period of bad management where employee turnover was pretty high, the company seems to have gotten better at retaining employees and learning from their previous mistakes. There is lots of room for growth in this company for an employee who is competent at their job and wants to expand their role.
Cons
While company policy is to not overwork it's staff and, when crunch time is absolutely necessary, provide extra vacation days, some managers will try to keep their teams in constant crunch mode. (However, HR is very friendly, competent, and happy to work with employees, including on pushing back against long hours and monitoring situations that are brought to their attention.) If you get bounced from project to project as a pinch hitter, sometimes it falls upon you to make sure promises previous mangers made are actually fulfilled.