XP. It was released late, and lacking promised features. Vista was released nearly a decade later, and not only lacked the features promised in XP and in Vista, it increased system requirements enormously. Windows 7 was released 2-3 years later, which essentially fixed the bugs they sold in Vista and still did not give the promised features of XP.
All the while, Microsoft restricts sale and use of XP and promotes its new product, which is quite expensive.
They are moving forward. Software development does not always go according to plan, especially when you are dealing with something as big and with as many existing users as Windows. It's easy to criticize, but I work in commercial software development, on a product that is as big and has been around as long as Windows, and I can tell you that given what Microsoft has to deal with, I am extremely impressed with them. The problems are endless. There are no good solutions sometimes. Someone will always be unsatisfied. It's just the nature of the beast.
Yes, you are correct. Breaking compatibility is necessary, however, the issue is that the forms are proprietary and it is technically (often) illegal to break them or use them otherwise.
Sounds like a smart business move to me.
ODF exists and is superior. Microsoft can (and will) implement it. However, they constantly try to compete with it and lock people into their formats which others can't use. Remember OOXML? The new Microsoft document format, which was standardised? Microsoft's products do not follow the standard they published, so the "standard" is useless.
No one actually follows standards anyway. Every day I work with "open" standards and they are as poorly supported as Microsoft's own. Everybody loves OpenGL, yeah? Do you think your graphics card actually implements the complete standard? I promise you it doesn't.
When the code of Windows was leaked in part a while back, comments in the code were found that they intentionally kept bugs for various reasons.
There are always non-nefarious reasons to keep bugs around. I make these kinds of decisions literally every day. It just has to be that way.
However, I am referring to the general quality of Microsoft's software. They release garbage (ME, Vista) and then shortly (in their terms...long time for other systems) release a new one which "fixes" those problems. Having beta and alpha testers is fine, but people should not be tricked into it.
That's not what they are doing. When something is that huge, there are problems you are just not going to find until it hits the public. Our software passes alpha and beta testing with flying colors and then when it hits the street, there are massive problems found that must be patched. It's just the way it works.
Yes, ME and Vista were crap. And yes, I have my own problems with some of the choices Microsoft makes. But since I am in their shoes myself, I cannot criticize them too heavily, because I understand the position they are in, and it is a position where there are no easy answers.