Pros
It may vary from team to team, but my team has been highly supportive and understanding of mistakes. They make me feel appreciated and valued. The management works hard to keep you fairly compensated and they listen to your needs. Because it's a small company you feel like you are making a difference as an individual rather than just a cog in the wheel. Projects can vary from interesting to okay. Benefits are fairly standard, 3% 401k match that is 100% vested from day 1 which is nice, health insurance, dental, vision, etc. We have 10 federal holidays, as well as 1 week of sick leave and vacation leave each that is accrued annually (cumulative accretion up to 3 weeks for vacation). Payroll distribution comes on time, usually early morning of Friday, bi-weekly. For my team and contract (I'm sure it varies), the work schedule has been rather flexible. I am able to work from home if need to, and a typical day is usually 9-5 unless more work is required to meet the deadline, which is fairly rare.
Cons
Projects can be dry and career projections for you are unclear. There is uncertainty regarding annual raises, bonuses (if they exist), or anything of that sort. Upward mobility is limited. Switching projects can be hard with the limited amount of resources. Projects have no variety and are all around a similar field (in this case, management consulting and analytics). Instructions on assignments can be vague and you have to be creative. For someone like me who has no prior experience in this (or any professional) field this was a challenge. There is a steep learning curve when you start as you need to either already know the subject or learn on the job. Luckily I am a fast learner so I was able to make it through but it's certainly not for everyone.