Every accessibility expert will tell you: You should use <button> instead of <div role=button>. There are numerous articles that explain the benefits of <button> in detail.
And then we have top websites like twitter.com that use <div role=button> for everything. There are about 50 such elements on the start page alone.
This juxtaposition creates confusion and doubt. I would really like to know, if <button> is the clear, obvious choice that even junior developers should know to use it, then why do so many top sites choose <div role=button> instead?