Some of us still have to support older IE versions which needs to some workarounds to work with it. Even the validator.w3.org doesn't pass it's own validator. https://validator.w3.org/nu/?doc=https%3A%2F%2Fvalidator.w3....
My point is that we need to use modern tools like html5 while still being backwards compatible with older browser which means breaking some w3c rules.
Another valid case off the top of my head for breaking w3c(haven't tested if it passes validation) would be `<meta>` tags inside body tag. Which is part of the microdata format. Normally you're not supposed to put meta tags outside head but for while using mircrodata you sometimes have to rely on meta tags because your design doesn't allow for required(by microdata) to be shown on the website, so you use meta tag, which doesn't do any harm since it's not rendered for the user.