Pros
I enjoy getting to work as part of a smaller team. Each of our clients is different so it's nice to get to do different work for each one, rather than the same thing for every client. It makes it so there is always variety in what we are doing. Since we are smaller, I also feel like you have ownership over the work you are doing because you are working directly on the project and are responsible for the outcome. I feel like we work a pretty typical day-to-day schedule and it's always easy to work with management to arrange time off whenever needed.
Cons
As a smaller team, you do have a lot of responsibility on the projects that you work on. This can be an opportunity to take on more responsibility, but some people don't enjoy it – just like group projects :) There's no "corporate ladder" of sorts to climb if you're into that. I've taken on more responsibility and grown in the company via the projects I work on and demonstrating leadership.