¿Debo apuntar a agregar una clase / id a todo, o usar otros selectores?

Nunca estoy seguro de cuál es la mejor (más eficiente) forma de seleccionar un elemento.

Digamos que tengo el siguiente diseño (ejemplo extremadamente simple)

<div id="navigation">
  <ul>
    <li>Link 1</li>
    <li>Link 2</li>
    <li>Link 3</li>
  </ul>
</div>
Quiero seleccionar mi lista desordenada (asegurándome de que no afecto a ningún otro UL en mi sitio), si lo hago#navigation ul {} o asignar una clase a la UL?Quiero seleccionar los elementos de mi lista, asegurándome nuevamente que solo los afecto. Deberia hacernavigation ul li{} o asignar una clase?Y, por último, si quiero seleccionar mi primer enlace y diseñarlo, debería hacerlo.#navigation ul li:first-child {} o asignar una clase?

Aprecio que estas preguntas son más o menos las mismas, pero tengo curiosidad por saber cuándo debería usar una clase y cuándo no.

Respuestas a la pregunta(4)

Su respuesta a la pregunta