The importance of standards
The languages XHTML and CSS are defined by the World Wide Web Consortium (W3C). In my ideal world all browsers would conform to W3C standards when displaying web pages, and they would produce errors when asked to render incorrect code. For historical reasons: the rapid expansion of the web and the evolution of the languages, and some would say the slowness of the standards bodies to agree specifications, web browsers are very tolerant of errors in web pages. Unfortunately, not only are browsers tolerant of errors, some do not even apply the standards correctly. For me this makes some aspects of writing web pages very tedious: you write a standards conforming page, verify its correctness using the W3C Markup Validation Service and then have to try it in all target browsers to see if the page looks as intended. Generally, even though you've written a perfectly valid page, it will not look right in older versions of Internet Explorer. Despite the existence of good browsers like Firefox and Opera, Internet Explorer still retains a large proportion of the browser market (Presumably because Windows is preinstalled on almost all new PCs, Internet Explorer has always been bundled with Windows and most people don't realise that there are alternatives). And so it is necessary to satisfy old IE's pecularities and code has to be repeatedly tweaked until it works. I hate to think how much time and money is wasted in dealing with this problem.
But there is a more important problem concerning standards: proprietary interest and the malign use of monopoly. The Internet is a standardized, global system of interconnected computer networks. The World Wide Web consists of interlinked hypertext documents accessed via the Internet. Communication over the Internet uses agreed protocols and a machine at one end of a connection should not need to know the type of machine or operating system being used at the other. The same should be true for the World Wide Web: all browsers should use only the W3C standards. Open Standards are essential for allowing the Internet and WWW to be open and independent of proprietary interests.
Recently I considered opening a bank account with the UK Post Office. For me internet access was essential, but I discovered that in order to use the online banking service I would have to use Internet Explorer. Aside from the fact that there should be no technical reasons to necessitate this restriction, does it make sense to force people to use an operating system and browser reported to be associated with large numbers of security problems? And this, to access their bank account! Standards should enable the avoidance of this kind of vendor lock-in.
Unfortunately this lack of adherence to WWW standards is not uncommon and at present, there are two World Wide Webs: the open one which functions as envisioned by its creators and another that only works for particular companies' products. No doubt this is currently a financially rewarding situation for the monopolistic companies, but it is not good for consumers. For those interested, Wikipedia has an article about Microsoft's Embrace, extend and extinguish strategy.