I use <h1>, <h2>, <h3> tags for headers. But then I almost always “overwrite” pretty much all styles (font size/family/weight, margin and padding).
Given this, is there any real reason to use them, other than their somewhat informative nature (that something is meant as a heading)?
That is the ONLY reason to use them, to describe your document. That’s the whole point of HTML, CSS is meant purely for styling.
There are exceptions for the non-semantic tags like
divandspan, but generally what you plan to do with your CSS should never affect your decisions on which tag to use to mark up your content, always use the appropriate one.