Let's say that you have a property that takes in two color parameters, crazy-coloring. Webkit implements crazy-coloring: bgcolor fgcolor; Gecko implements crazy-coloring: fgcolor bgcolor;.
How do you propose we differentiate these and know what the designer meant? That's why we have prefixes, until it's standardized.
Usually we don't end up with cases that are that drastically different. And in that case, now only Webkit, Gecko, and maybe Trident and Presto are considered. Other, less popular rendering engines are rarely included in the set of prefixed properties, excluding them from the ability to use new features.
How do you propose we differentiate these and know what the designer meant? That's why we have prefixes, until it's standardized.