<header> 要素は HTML5 で導入されたセマンティック要素で、「導入的なコンテンツのグループ」または「ナビゲーション補助のコンテンツ」を表します。最も一般的な使い方はページ全体のヘッダー(サイトロゴ、グローバルナビゲーション、検索フォームなど)ですが、それだけが用途ではありません。<article> や <section> の冒頭にも <header> を置くことができ、その場合は「その記事・セクションの見出し領域」という意味になります。
HTML5 以前は <div id="header"> や <div class="top"> のような表現が主流でしたが、<header> によって意味のあるマークアップが可能になりました。ページ全体の <header> はランドマークロール banner として扱われるため、スクリーンリーダーユーザーがページの主要ナビゲーションへ素早くアクセスできるようになります。
よくある誤解として「<head> と <header> は似ている」と思われることがありますが、<head> はブラウザへのメタ情報(title・meta・link など)を格納する非表示の要素であり、<header> はページに実際に表示されるコンテンツの導入部を表す全く別の要素です。両者は役割も配置場所も異なります。