Some people on this site seem to have the misconception that Microsoft programmers are all useless VB kludging lamers. I'm going to go out on a limb here and say that this is completely untrue. Microsoft has one of the most rigorous employee selection processes in the industry. It is not uncommon for a potential employee to have to attend over 10 interviews just to get the job. They are quite selective about who they choose. So I don't think that the reason that Microsoft has had so many issues with buggy code is because of lack of expertise in the programming department.
The way I see it is that there are two distinct parts to Microsoft (this is a bit of a simplification but it help to make my point):
1. Microsoft the Corporation
2. Microsoft the Programmers
The main reason that Microsoft keeps releasing dodgy code is that Microsoft the corporation (who is all about keeping the shareholders happy) has put in place so much needless beaurocracy that programmers are prevented from doing a decent job. Programmers are so pushed for time that they are often forced to put code into a release that is not up to scratch.
Microsoft is not the only company that does this. This is a world wide problem that exists within most large corporations. People should think about this before they jump in a start abusing programmers. They're just the little guys.