How OOXML is a complete failure, even for Microsoft
There are two possible uses for Microsoft's attempt to make OOXML into an international standard: documenting Microsoft Office's file formats so that third parties can more easily write programs that deal with them, and letting Microsoft claim with a relatively straight face that Microsoft Office uses a standardized file format instead of a proprietary one.
As lots of people have pointed out at great length, examination of the draft OOXML specification shows that it does not actually document the Microsoft Office document formats in enough detail for anyone to use it as a reference for reading or writing documents. In practice, they at most give you a leg up and perhaps point out where you are going to have to reverse engineer whatever the relevant Microsoft products are doing. Thus the first use is a failure.
The problem with the second use is that the ISO process introduced changes from the OOXML draft that Microsoft submitted (Tim Bray covers this here). Since Microsoft released Office 2007 well before the ISO process completed, Office 2007 reads and writes 'draft OOXML', not 'ISO OOXML' (the international standard), and Microsoft can no longer claim to use a standardized file format.
Result: total failure; ISO OOXML is both useless to third parties and useless to Microsoft itself. All that it managed to do was make a lot of people think rather badly of Microsoft (again), which does not help with one of their problems.
(It's so useless to Microsoft that Microsoft Office will add support for ODF, the competing open document format, well before it reads and writes ISO OOXML.)
(This is not a new insight; I just feel like writing it all down in one place.)