Pros
1.Work with some of the smartest people in the industry. 2.Learn great software engineering practices and processes. 3.Meet and learn from people who wrote various engineering books and articles. 4.Prestige of working for Microsoft R&D. 5.Flexible work schedules to match your work life balance and to spend time with family. 6.Great pay and benefits which are competitive in the industry 7.Decent work life balance 8.What you implement will be used by millions of people around the world and that is a very satisfying thing to know that you can impact a global change.
Cons
1. Work life balance can take a hit at times during tight deadlines. 2. Salary can be increased a little bit more to be at par with Google and Facebook to prevent some employees from leaving for those companies :) 3. Nothing else really !