Dat klopt. Maar de W3C standaard is meer een richtlijn. Wel een hele belangrijke, maar je kunt er om heel veel verschillende redenen van af wijken.
Er zijn om te beginnen een heleboel websites die gemaakt worden vanuit gratis cms systemen zoals Wordpress, Joomla, of Drupal, of met behulp van code-editors zoals Dreamweaver, en feit is dat de meeste van die programma's wel werkende code genereren, maar nooit optimale code. In het ideale geval laat je als bedrijf natuurlijk een website volledig vanuit het niets helemaal op maat schrijven en word er daarna pas een cms aan gehangen, maar dat is ontzettend duur en levert vaak niet genoeg meerwaarde op.
Een ander probleem is bijvoorbeeld Internet Explorer (nog steeds...). Als je wil dat je site ook in Internet Explorer er uit ziet en functioneert zoals in Firefox, Chrome, en Safari, dan moet je soms hacks toepassen of rare code schrijven.
Verder heb je nog zoiets als plugins (denk bijvoorbeeld aan een facebook like button) die gebruik maken van code die de W3C niet herkent.
En ook bijvoorbeeld social media opmaak en rich text snippets (Open Graph Protocol, Microdata, etc) die ook niet als correcte html gelden en dus foutmeldingen genereren.
Daar komt dan nog bij dat het bouwen van websites een enorm breed vakgebied is en er zijn veel bedrijven, groot en klein, die bijvoorbeeld wel de expertise in huis hebben om ontzettend mooi functionerende scriptjes in PHP te schrijven, een geweldige grafisch vormgever achter de photoshop hebben zitten, een hele goede adwords specialist in dienst hebben, en prachtige zoekwoord analyses kunnen maken voor de klant, maar wel inline styles gebruiken en een zootje maken van hun meta-tags. Verder zijn er ook bepaalde situaties waarin je vanwege het responsive design kunt afwijken van de W3C standaard. Als ik bijvoorbeeld mijn eerste bedrijfswebsite door de W3C validator haal zie ik ineens dat ik een paar keer een block-level element in een inline-element heb geplaatst. (In dit geval een div-je in tags)
De reden daarvoor was dat dat de enige manier was die ik kon bedenken om zonder 'niet-html-scripts' een bepaald responsive behaviour voor elkaar te krijgen. Het resultaat is geen correcte html, maar het gedroeg zich zoals ik wilde, en als ik daarvoor jquery of javascript had moeten gebruiken dan was dat weer een beetje ten koste gegaan van de laadsnelheid van mijn pagina, en daarmee de gebruiksvriendelijkheid en daarmee ook mijn conversies en notatie in de zoekmachines.