While the guidelines specifically state that compliance is optional, I believe they say this just to be nice. You should conform to the standards unless you have an amazingly good reason to break them. Here are some good reasons for not conforming to the standards:
I consider the following to be really bad reasons for not conforming to the standards:
People often note that Microsoft itself breaks the standards all the time. However, note that they do this to advance the state-of-the-art of Windows user interface design. Also note that they have a substantial budget to design and test new user interface designs. Microsoft typically unveils these new designs with their Office and Internet Explorer products and eventually incorporates them into the standards and other products. If you want to follow Microsoft's latest user interface designs and you have a good reason to, that is fine by me. Typically I plan to adopt them too, but I'm usually not in a big hurry to do so. I prefer to give myself, my users, and my tools (especially MFC) a chance to catch up.
TIP
Violate the standards to go forward, not backward.