Why hasn't someone gone and sorted at least most of the discrepancies between browsers, take for example:
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
or gradients? In the above example why did mozilla have to have their own version? And if it's because they had support for border radius before the CSS3 spec, then why don't they make the -moz version legacy and accept the CSS3 version? And then there's things liek Javascript events, where in one browser an event will fire in one particular circumstance, but in another it fires in a slightly, but importantly different, circumstance. Then you can have onselectend event on a div but not onselect. And the way selection is managed varies pretty much completely between browser.
There has to be a renderer that is the best (the fastest, etc), so why don't the other web browsers just use that, and put they're own spin on the browser features and UI? What is so great about everyone having their own renderer, surely they don't make money from it (in Apple, MS and Google's case anyway) so isn't the time and money spent on developing their own version a waste, theoretically everyone follows the same rules, so they should be pretty much the same in terms of displaying.
And why have web developers stood for all this nonsense, there are far more web developers than there are people who create browsers.
(Note: This is not something like which browser is the best (technically, not end-usery) but why they're all different when there's no benefit (or is there a benefit), so please don't close it as submentive or whatever it is called)