todo lo puedes poner en la pagina .html
pero para mayor organizacion slos programadores separan los css (estilo) de lo html.
si lo quieres separar solo tienes que poner:
Código CSS:
Ver originala:hover{
color:red;
}
.links a:hover{
background:red;
}
en el archivo style.css y luego incluirlo en el html.
sobre la explicacion del codigo tienes razon en lo que dices.
si solo quires definir colores solo a los de la clase links puedes omitir la otra parte.
en el # van la pagina ke quieres abrir al ser pulsado el link.
Si tienes alguna otra duda, posteala.
Saludos.