Pros
There is a lot opportunity to be found at Microsoft, since the company is in virtually every field of computing. The people are smart and friendly. You get to hear interesting talks from researchers and other notable personalities from inside and outside the company. The work is challenging and intellectually stimulating.
Cons
Working in a large company there is sometimes a lot of process involved in coordinating everyones efforts. This overhead can sometimes get in the way of work. However, newer teams are now adopting more agile methods of software development. Since everyone is smart, there is a lot of tough competition between colleagues to get rewards and promotions, and so you need to be prepared to work long hours to be successful.