While not all browsers follow the current web standards, the web itself would not be able to exist in the form that it is in if it were not for the web standards.The current standards for web pages at the time of writing are HTML 4.01, CSS 2.1 and ECMAScript 5 but the point of this discussion will be unaffected by the release of any replacement standards. It is these standards which allow you to write one web page that will work in basically the same way regardless of which browser that your visitor is using.
Browsers can of course also implement their own proprietary code that only works with their particular browser. That's how innovation and improvement to the standards happens. One browser tries out a new command of some sort. If it proves useful then other browsers will add support for it as well and it will then become a de facto standard. If it is then put to the approriate standards committee it should then find its way into the official standards as well.
Without the standards the innovation and development can't exist.
Back when the web first started to gain popularity with the general public there was basically only one browser in common use and that browser was Netscape. With only the one browser being used by almost everyone the browser writers working on that browser didn't need to follow the standards if they didn't want to since people would write their pages to work with their browser. Effectively what their browser supported was the standard. As HTML was still at an early stage of development there were all sorts of tags added to HTML at that point many of which did things that ought not to be done with HTML at all.
Things became more complicated around about version 3 of that browser whenit started to get serious competition from another browser (Microsoft's Internet Explorer 3). IE3 provided its own set of proprietary tags different from those in Netscape 3 and as IE3 started to gain in popularity it started to become necessary to create separate versions of each web page directled at each of the browsers so that people could view the page that worked best in whichever browser they were using.
The only reason this worked at all was because of the HTML standards. Both browsers supported the standard HTML tags and so it was only the proprietary ones that differed between the browsers and so it wasn't necessary to completely rewrite the HTML for each browser and a page that was intended for one browser did sort of work in the other. Now people could write their HTML following the standards and have their page work the same in both browsers but then they missed out on the additional functionality that the proprietary tags offered.
Eventually a number of different standard compliant browsers were released in competition to IE6 and that led to a slow move away from IE6 simply because it didn't support the standards as well as the competing browsers did (even though it was the most standard compliant browser of all at the time of its release).
That IE6 doesn't fully support the current standards now acts to hold back innovation since time has to be spent on getting web pages to work in that older browser that would otherwise be able to be spent on trying out the new proprietary tags that the latest generation of browsers are experimenting with in the hope that they might prove useful enough to be added into the next version of the standard.
This article written by Stephen Chapman, Felgall Pty Ltd.