Vantaggi
To advance in knowledge and experience of your discipline very rapidly. To get insider views of Microsoft technologies before they are released to the public, while they are in development, etc. You can become very valuable in your craft this way. There are a lot of great people and the organizational structure is very flat. People are encouraged to speak out, escalate issues loudly, etc. It is like being a freelancer within a company. It behooves you to make a good reputation for yourself, get on the best projects, interact with the most people, etc. to get your name out there and stay utilized.
Svantaggi
Sudden layoffs. Projects and teams vary in quality and if you are on a project with poor planning or poor management it can reflect badly on your statistics, which you are judged on. The percentage of billable work you do, the profitability of the projects you're on, etc. all are part of how you are judged. I have seen projects lose a great deal of money because of easily preventable planning errors or inexperienced project management. Unfortunately if you don't play your cards right it can adversely affect you and your career to get stuck with projects like this, no matter how hard you work to try to make it better.