Vantaggi
Microsoft is a huge corporation and therefore has lots of opportunities for growth and lateral as well as horizontal movement. Benefits are extremely good compared to other companies and the people here are all very smart and motivated. I feel that Microsoft really appreciates their employees and does a decent job making sure they are as productive as possible. For example, my team is split across two locations and MS regularly flies me to the other location to have one on one meetings. We also regularly have broad team meetings at offsite locations that are quite fun and interesting.
Svantaggi
It takes a long time to get anything done, requiring several levels of approval. People tend not to do what is best for the product but what's best for their career at MSFT. It can be very frustrating when you want to do something that is great for the product but are prevented from doing so for various silly reasons. Also, if you are a developer, get ready to work on a ton of legacy code. This is probably one of the most frustrating aspects, having to deal with code that's 5 or sometimes 10 years old. Sometimes it just doesn't feel like I'm working at a high tech firm.