According to one of the answer for "Why do browsers create vendor prefixes for CSS properties?", one of the reason why vendor prefix is needed is to avoid breaking page even if the final specification of a property is different from the implementation(interpretation) of a vendor.
I read a book which says it is generally a good practice to put property without vendor prefix after vendor prefixed property declarations, as shown below:
p {
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
-o-hyphens: auto;
hyphens: auto;
}
Let's say that finalized specification of hyphens is different from the interpretation of vendors. If somebody developed a webpage which depends on some vendor prefixed implementations, won't the page's design break because, as I have assumed, "hyphens" specification is different from the vendors'? If the interpretations are the same as the finalized specification, I think the code above is fine. Why is the code above generally a good practice?