Pros
Chance to use cutting edge technologies. Exciting work and challenging problems.
The common sense approach always wins. Hardly any red tape or ridiculous big business reasons to avoid doing the "right" thing. When it's not obvious what the "right" thing is, we tend to have an open debate to determine what that is.
Lots to do, and as employees we have a big say in what we work on next, and what the product to be developed should look like. We are given time to finish a product properly and get it really slick (rather than chop the end of the project off and have a mediocre solution)
Avoidance of Agile ceremonies etc (see common sense above). It's a small enough team so we manage to avoid that drudgery - everyone knows what everyone else is working on, and we demo stuff all the time. We release often and review each others stuff on Github.
We have whiteboards, and use many cloud based tools. We also have Apple computers (although I'm secretly a Windows and Linux sympathiser).
It's quite a lot of fun. Pun-ishment, South Park quotes etc.
Cons
Being a small team, there is less employee diversity compared to larger teams (i.e you are pretty much working with the same people every day).
Sometimes the projects can be so big you feel a bit crushed under the weight of them. Doing the obvious things of breaking the projects down into micro achievements helps, but sometimes it feels like a project will never finish! The current project I've been working on pretty much solidly for 6 months and it isn't "done".