Browser vendors sometimes add prefixes to experimental or nonstandard CSS properties, so developers can experiment but changes in browser behavior don't break the code during the standards process. Developers should wait to include the unprefixed property until browser behavior is standardized.
Browser vendors try to get rid of vendor prefix for experimental features. They noticed that Web developers were using them on production Web sites, polluting the global space, and making it more difficult for underdogs to perform well (prefixed version are only added for major browsers and the unprefixed version is often forgotten, if not broken).
Lately, the trend is to add experimental feature behind user-controlled flags and to work on smaller specifications that reaches stability much quicker.
Typically the vendors use these prefixes:
-webkit- (Chrome, Safari, newer versions of Opera.)
-o-(Old versions of Opera)
Vendors also use prefixes on API. On interfaces, they typically use:
Webkit (Chrome, Safari, newer versions of Opera.)
O(Old versions of Opera)
On properties and methods, they typically use:
webkit (Chrome, Safari, newer versions of Opera.)
o(Old versions of Opera)
- Vendor prefix on Wikipedia