Когда делать кнопку кнопкой, а когда ссылкой?
чтобы юзер мог переключаться между кнопками с помощью tab. - таб индекс работает с кнопками и ссылками.
Если это форма: лучше использовать input[type=button], если вы работаете с ипользованием фреймворка, то можно использовать и button  и input[type=button].
С точки зрения JS (табы и все такое) абсолютно по барабану, что ты там наделаешь. Реакцию на табанье можно добавить.

С точки зрения адекватности:
1. Кнопки для того, что работает, как кнопка: клик → ответная реакция.
2. Ссылки для гиперссылок: нажал → попал на другую страницу (роут).

Или сейчас это делают с помощью ссылок?
Идиоты всегда бездумно использовали то, на что левая пятка зачешется. В целом button, как элемент, много удобнее input button.