Vantaggi
Microsoft has a lot to offer to anyone looking to learn the business of "big" software development. In my experience, the biggest benefits to working at MSFT is the networking and organizational mechanics visibility you get. I have met a ton of incredibly talented people who later on became important resources for future opportunities (within and outside of MSFT). It felt much like college to me - a time to learn a lot, meet a lot of contacts and grow as an individual. The resources and opportunities are huge at MSFT, though much of the time you realize you are a very small fish in a very large pond. Big aspirations can be squashed frequently after the reality of the organism that is MSFT becomes apparent. But again, the opportunities environmentally outweigh the unfortunate lack of ability for any one person to change the reality of what MSFT is - a giant steam ship that takes years to make a turn.
Svantaggi
The layers of buerocracy and management are the biggest downsides of working at MSFT. It often felt like the job was much like the game show "Survivor," where many of your co-workers were trying to stair step over each other with every project. The culture at MSFT is built to surface the strong type-a personalities to succeed, while the less interested or mellow personalities can be stuck for a long time in unhappy roles. If your goal is to work with a team you can trust to focus on the problem at hand (instead of their own career advancement opportunities), to build truly useful and revolutionary products for people and you ike to have clear ability to affect long term direction - MSFT is most likely NOT the place for you. It is however a good place to learn a tremendous amount and move on from. Just be honest with yourself before you commit.