In my opinion, Bouffalant is better than Tauros in almost every possible way. It's a better and more interesting design, with a better ability, better moveset and better stats in everything but Speed. Tauros' better Speed is the only reason that I say that Bouffalant is better in 'almost' every possible way. If it wasn't for that, it would be better in every possible way.
Bouffalant is a memorable design - with that enormous afro and those horn decorations, it looks like a badass from a 70s blaxploitation movie, and with its signature Head Charge (head? afro? get it?) it hits like a truck. And it's bulky enough that it's probably going to be around long enough that you're going to have to suffer through at least one Head Charge, which is going to just hurt that much more if it's Reckless, which in spite of not being as good strategically, is a great concept for an ability for it.
Tauros, on the other hand, has never really had a niche or a clear identity - it's just a bull that has three tails, for some reason. It hits hard enough to be sort of useful (though there's pretty much nothing it can do that Kangaskhan can't do better), and it is amazingly fast, for some reason, and that's pretty much that. It was already one of the more forgettable pokemon, and pales by comparison.