In a real world scenario, it would be best to use semantic HTML whenever it makes sense.
Another thing to take into account is the amount of legacy code that’s still present today. It might not make sense for Amazon, for example, to revamp their HTML code. They probably don’t care, simply because their pages will work regardless of what they use. Semantic HTML will simply enhance the meaning of the markup. It won’t change it dramatically, nor how it appears to the end user.
It can have an influence on screen readers, though. As well as that, semantic HTML is easier for robots (crawlers) to parse and understand the structure and meaning of the markup. So it somewhat helps SEO efforts (it may not be a major factor, but I suspect it does help a bit).
And I think I read somewhere that some frameworks mainly use divs to create elements on a page, but I might be wrong. Someone with experience of front-end frameworks such as React, Angular and Vue should confirm this.
So, for any new project that you’d start today, I’d strongly advise to make use of semantic HTML. Newer web apps use it. If you inspect the code of this forum, for example, you’ll notice that they use a mix of div, section, article, etc. It makes sense for web apps in 2020.