Вообще лучше пользоваться button - это лучше с точки зрения доступности страницы. Разные скринридеры для слабовидящих опираются на разметку при чтении. Ну и вообще, если есть в спецификации кнопка и ссылка, то и нужно их использовать по назначению. Используют div вместо кнопки в некоторых случаях, когда не хотят или не умеют бороться с ненужными в конкретном случае особенностями рендеринга элемента button.