HTML & Semantics
Structured content with behaviour attached. What a `button` gives you that a clickable `div` silently takes away — keyboard, focus, defaults, assistive technology, tooling.
Choosing an element selects a role, a place in the tab order, a set of keyboard defaults, an activation behaviour and an entry in the accessibility tree. `div` selects none of them.
Landmarks, headings and source order are the navigation system most of your users never see — and the one CSS can silently disagree with.
Activation behaviour, form participation, implicit submission, the top layer and constraint validation — the platform features most component libraries reimplement, more slowly and less completely.
Charset, viewport, lang, title and the link relations decide how the rest of the document is decoded, sized, named, shared and blocked — before a single pixel of body content exists.
Replaced elements bring their own dimensions, their own bytes and their own decode memory — and nearly every problem they cause is fixed with an attribute rather than with code.
Nobody sets out to write forty nested divs. They arrive one justified wrapper at a time, and the bill is paid in accessibility, style recalculation and JavaScript you had to write yourself.