vendor mixins seem to add unnecessary prefixes. […]
I would think that if anything… LESS prefixes will be needed in the future.
I agree. And, taken together, I would say this means that “unnecessary” prefixes aren’t really a problem.
In practice, the only prefixes that you would need to avoid are those where the old syntax would literally screw up the new syntax. I think there actually are some edge cases where this happens, but I don’t have specific examples.
Otherwise, what’s the harm in supporting some old browser version that nobody uses anymore?
What’s so bad about writing my own mixin for prefixes?
Nothing. Just might be easier to use an existing solution (what with programmers being lazy, and all*). And, as Alen said, you also offload the task of maintaining it (which is good, …unless it isn’t. but isn’t everything?).
* I really have to force myself to remember this, from time to time. I could spend a few weeks making something really awesome, or a few minutes downloading someone else’s something which is (for all practical purposes) functionally equivalent, if only mostly awesome.