I am a ex-employee of MS. In my observation, the decision making process is very complicated inside microsoft. Because of big-hierarchy, there are many people involved in making decision even for for a small feature. Most of the decision maker are non-expert on the topic. Sometime they argue: we should do A then after sometime few other manager will argue for B and again after sometime they will argue for A and this keeps on going till there is little time left for release. And at end, they randomly pick either A or B.