ナビゲーションをリストとして作る理由

リストタグは同列の情報を並べる時に使用します。
ナビゲーションは「トップページ・サービス案内・会社案内・ブログ・お問い合わせ」の各ページへのリンクのために用意しており、文章内での位置づけとして同列の情報になるため、リストタグでマークアップすることがHTMLとして正しい論理構造になります。正しい論理構造にすることで、検索エンジンにもサイトの情報を正しく伝えることができます。
divタグを使用しても見た目は同じようにできますが、divタグ自体は論理構造を持たないので、正しいマークアップとは言えません。

<a href="#">になっている理由

リンクをクリックした場合にページの再読み込みをさせないために、href属性に#を指定しています。空白の場合、現在のページが再読み込みされます。
実際にサイトを公開するときには、正しいリンク先のURLにhref属性を修正する必要があります。

見出しをh2タグにしている理由

見出しタグはSEOの面から重要な意味を持つタグになります。
見出しタグの中でもh1タグは、そのページで最も重要なテキストに対し使用するタグで、基本的に1ページに1つ使用します。そのため、1ページに複数のh1タグを使用してしまうと、検索エンジンに対してページのコンテンツ構造を正しく伝えることができなくなります。
今回のセミナーで作成した見出しはページ内で複数使用するため、h1タグではなく、h2タグを使用して作成しています。