Si bueno, hay un debate sobre si es mejor usar solo clases, o mejor identificadores, y algún loco dice de sólo usar selectores CSS sin tener que usar clases ni identificadores, que poder, se puede.
El debate es más bien relativo a la velocidad de carga, y aún haciendo pruebas con dos mil selectores, la diferencia no se aprecia.
Yo opto por usar las cosas para lo que son; clases para estilos que se repiten e identificadores para elementos únicos. Lo único que intento es, dentro de lo lógico, usar pocas clases e identificadores.
Por ejemplo:
No tiene mucho sentido, porque podemos perfectamente seleccionar los elementos de la lista con
ul#menu_principal li, y los enlaces con
ul#menu_principal a.