Does it not seem strange to anyone that web browsers use browser specific CSS properties? For example:
-moz-border-radius
-webkit-border-radius
Why would they just not support border-radius instead of these obscure targets? What is the benefit? Doesn’t it just hold back the adoption of the selector?
Because the CSS 3 standard is only proposing the introduction of those properties and the definition of how the property is supposed to work might still change. By introducing a browser specific version it allows the proposed property to be tested to see if the way it is proposed to work is actually useful. If it turns out the property needs to work a slightly different way then the final property can work as required without impacting on the pages that implemented the slightly different test version.
When IE5 was released it implemented a draft version of width without calling it -ms-width and the final version of width was different. That meant the way IE5 handles width is non-standard and that a way then needed to be found to tell IE6 which version of width a page was using.