If everything works in all the browsers you want to support, it's not really that important that HTML code actually validates. For XHTML, it is important, though: using XHTML implies that you want your code to be readable by XML parsers, so anything which isn't valid XHTML shouldn't be declared as such.
But creating standards-compliant code isn't hard, ie anyone who doesn't bother to fix errors shows a lack of professionalism. Sometimes one might decide to ignore the standards, but that should always be a concious decision - eg the Google home page is optimized for speed and cross-browser support and has been tested extensively. If you don't have the resources for such testing and continous support, you should stick with the standards.