I could understand using them for experimental things that aren't official (ie; not in the CSS3 spec) to prevent name collisions, but why the need for prefixes on shadowing and such?
Shouldn't each vendor be implementing the effects the same, as per the CSS3 specs?
EDIT: Will the prefixes go away once CSS3 is finalized? I just am curious about the history of why some features have prefixes, and some don't, when the effect seems to be the same on all major browsers.
This has been asked before, but the short answer is that CSS3 is not a finished product. CSS 2.1 wasn't published until 2011, and only a handful of CSS3 modules have even reached the level of a formal recommendation, so it's premature to talk about a CSS3 specification that is universally implemented. Thankfully, modern browser makers are helping to push things forward and are helping to craft the standard which follows the lead of real-world practice. As they move closer to general standards, the prefixes are dropped.