Dipende dall'uso che ne vuoi fare.
Se progetti per una Pubblica Amministrazione (o se vuoi fare pagine accessibili), la pagina deve essere accessibile secondo la 4/04.

JS in linea di massima non e` accessibile, per cui qualsiasi funzionalita` introdotta da JS deve essere ripetuta in altro modo (con un <noscript>, ad esempio).

CSS invece e` accessibile (se realizzato in modo intelligente).


Per un principiante, realizzare un menu in JS puo` sembrare piu` semplice, mentre per un programmatore esperto in genere e` piu` semplice realizzarlo con i CSS.