An sich ist es sowieso egal, welche Elemnte du verwendest. Du kannst mit (fast) jedem Element (fast) alles designen.
Du kannst einen Textabsatz mit A machen, eine Tabelle, verschachtelte DIVs, eine Liste, etc.
Aber wenn du nach den Grundgedanken von HTML nachdenkst, kann nur eines die Frage richtig beantworten.
Der Grundgedanke von HTML (und anderen XML-ähnlichen Sprachen ist, dann Daten so dargestellt werden, dass die Informationen richtig benannt werden. Stichwort: Semantik.
Und wenn du nach diesem Merksatz deine Website aufbaust, kannst du dein Menü nur auf eine Weise richtig auszeichnen:
Ein Menü ist kein Textabsatz, ein Menü ist keine tabellarische Darstellung von Daten, ein Menü sind keine verschachtelten Container. Sondern ein Menü ist eine Liste aus Links, die zur Navigation dienen.
Jedes Menü ist eigentlich eine ungeordnete Liste - sie wird jedenfalls von unserem Hirn so gesehen: Mehrere Links in einer Reihe.
Nun stellt sich die Frage: Wozu Semantik?
Semantik dienst zur Strukturierung von Informationen.
Das sieht man auch in den Programmiersprachen. Man kann Variablennamen namens a, b, c und d vergeben. Syntaktisch absolut richtig und es funktioniert.
Aber wenn man query_string, summe, buffer oder ausgabe schreibt, ist das ganze um einiges lesbarer.
Das verhält sich in HTML genauso. CSS bietet genügend Werkzeuge um ein semantisch richtiges Menü schön zu gestalten