Pros: great salary, really good benefits, pretty much set your own schedule outside of core hours.
Cons: way too many meetings, to many people responsible for making seemingly simple decisions .
I was lucky to have a manager early on in my career, highly suggest that I should move between divisions and groups to not only gain experience, but to use the knowledge I gained to help deliver great products and services in other groups.
Microsoft has mini cultures within each division, so moving from role to role is like moving between start up's every 1-2 years.
The upside of moving to new divisions and roles, you gain a ton of experience and can get promoted along the way. The downside is losing upward mobility (e.g. lead and director level opportunities).