Pros
Friendly coworkers, beautiful office, good benefits, game nights, movie nights, end-of-year holiday parties, free coffee and snacks, interesting clients and projects. You have a lot of freedom to put your own stamp/influence on projects. You're given a lot of flexibility with how you solve a problem (don't always have to use the same technology/solution). Experimentation is welcomed. Management is usually very accommodating for work-from-home schedules/arrangements.
Cons
it's an agency so there's often pressure to deliver a lot of high quality work in a short amount of time. There's often limited time for senior people to fully train new staff. It's a small company, so be ready to clean up the kitchen 1 or 2 weeks out of a year and there are only a few different types of jobs/positions. Once you've mastered your job, you'll find promotions a little hard to come by.