In my experience, developers are blasé to front end standards and concentrate more on the efficiency of the back-end code and database. This is not to say the speed of your site is not just as important but there is little point having a fast site which won’t be rendered correctly to the end-user.
There are many reasons why it is important for each site to be coded to standards:
SEO (Search Engine Optimisation)
Search engines find sites that are coded to standards simpler to crawl as they contain little or no errors for the “bot” or “spider” to interpret. If your code uses unknown HTML, or doesn't contain closing tags, this can cause the search engines to miss sections of your page which could be added to their index.
Layout is an important part of any website and coding techniques you use can affect how it renders on different browsers. If you use invalid HTML tags or don't open or close the HTML tags correctly this can break the layout leaving the site unusable to the user.
Imagine you were asked to work on a site created by another developer and the code was not to any standard. It could take you a long time to recode or tidy before you can start work. If the site was coded correctly at the beginning this would have saved a lot of time, effort and money.
It is easy to keep your sites W3C compliant with the use of tools provided by W3C:
- HTML validator: http://validator.w3.org/
- CSS validator: http://jigsaw.w3.org/css-validator
- Mobile validator: http://validator.w3.org/mobile/