<div>
<h1>header</h1>
body<br/>
body
</div>
みたいな構造のときに h1 を block のように扱いたいけど 幅は inline-block のようにしたいそんなときに使えます
h1 は block で 「body」 は 「header」 の次の行に来る
h1 の幅は 「header」 の文字列の幅だけで右側にはマージンができる
というちょっと特殊な動きがしたいとき
さらに
h1 の before/after 疑似要素は別の用途で使用済み
h1 を div などで囲みたくない
そんなときに display: table を h1 に指定するとこの block のような inline のような状態を実現できます