Anzitutto ci sono errori semantici nel codice HTML, e questo impedisce al CSS di lavorare correttamente.

Una lista con sottoliste dovrebbe avere la seguente struttura:
codice:
<ul>
  <li>princ1
    <ul>
      <li>second.1.1</li>
      <li>second.1.2</li>
      <li>second.1.3</li>
    </ul>
  </li>
  <li>princ.2</li>
  <li>princ.3
    <ul>
      <li>second.3.1</li>
      <li>second.3.2</li>
    </ul>
  </li>
</ul>
Poi per far funzionare il menu come vuoi tu, ti conviene andare a copiare come propongono i Guru.

Alcuni riferimenti sono contenuti nei "link utili". Da parte mia ti conisglio di iniziare da CSSplay (a me piace come sono organizzati)