The fact that they're both in the spec (as I said, for backward-compatibility reasons) does not mean that they're both useful.
There is a dead horse that the web development community has been beating for ages, as to what exactly is the difference between an ABBR and an ACRONYM, and if there even is a difference. http://tinyurl.com/d9vngz Is HTML an acronym, or an abbreviation? HyperText is one word, so it's not an initialism like FBI. What about radar or Nabisco, or other words that were once acrobrevinitialisms but are now treated just like regular words?
The general consensus seems to be: every acronym is an abbr, but not every abbr is an acronym; IE6 supports acronym and not abbr; but abbr is better supported by JAWS and other screen readers, and is supported by IE7+ and the other major browsers. Therefor, abbr is always at least as semantically appropriate as acronym, and better serves the people that the tag is designed to serve. Use abbr, and avoid acronym.
The HTML spec only one definition of the language; it says little to nothing about best practices or trade-offs in using various tags.
Wrong. I really wonder where you got that "fact" from. Better use primary sources:
http://www.w3.org/TR/html401/struct/text.html#edef-ACRONYM
http://www.w3.org/TR/html401/struct/text.html#edef-ABBR