buttonタグっていつ使うの?
思ったりすると思いますが、buttonタグは「機能的な箇所」で使います。

それじゃ機能的な箇所ってどこかというと、
・フォームの送信、キャンセルする箇所
・アコーディオンをクリックする箇所
・モーダル表示のためにクリックする箇所
・ハンバーガーメニューをクリックする箇所
など主に、「JavaScriptで何かを実行する」際といった箇所です。

上記の項目はaタグを使用しがちですが、aタグは「アンカー要素」なのでbuttonタグを使用するのがHTML的にはベターです。

たまにdivタグで行っていたりするのもありますが、やむを得なくdivタグを使用する場合は、
マウスのカーソルやtabキーでのフォーカスが当たるように、tabindex属性、role属性などをつけてアクセシビリティやユーザビリティも意識しましょう。