Vantaggi
Career development is great. Microsoft has a clear measurement tool for employee to know how well he/she is doing, what is needed to be completed to get next promotion. If you are not satisfied with what you are currently doing, you can easily switch to different project in different group internally. You can also switch your role as well such as from a software developer to be a program manager. You can also choose what to focus for your career - as a manager and walk onto the management path, or be an individual contributor and grow yourself as an expect. You do still need to complete with other to get a promotion because of limited budget, but the opportunity of getting promotion is always there. Health benefit is also another great reason to work for Microsoft if you have family.
Svantaggi
Though the benefit comes with Microsoft is great ( lots of discount with buying stuff because of the partnership ), but there's no great cafe in Microsoft campus, nor any three free buffet meal as in other companies. You also need to have a high EQ, because no matter how good your team has achieved in the product, there will be always some persons in some newsgroups or websites whining and bashing what you did and what you provided to them. They never appreciate anything you have done. Next thing is the stock does not grow crazily as other competitors. It is more stable.