Diferencia entre punto (.) y la almohadilla (#)

Hola muy buenas;

me gustaría, si es posible, que alguien me explicase la diferencia que hay con poner en CSS la almohadilla # o el punto (.) para cambiar de aspecto algo de la página web.

Es que no lo entiendo muy bien como lo explica en el tutorial de html de esta webs.

UN cordial saludo y muchas gracias de antemano.
El punto es para definir una clase, la cual la puedes utilizar muchas veces en la misma página. La almohadilla es para definir un ID (identificador), y sirve basicamente para eso, para tener IDentificado un elemento de la página, por lo cual "solo se debe" utilizar una sola vez en la misma. Pero a la hora de aplicar estilos sirven para lo mismo, les puedes poner los mismos.

Espero haberte aclarado.

Saludos!
Como dice Web-freelance, el punto se utiliza para hacer referencia al atributo class del html, por ejemplo .mi-clase, hace referencia a todos los elementos que tengan class="mi-clase" en el html

Por otro lado, la almohadilla se utiliza para hacer referencia al atributo id del html, o sea que #identificador hace referencia al elemento que tenga id="identificador" en el html.

Sobre que el id sea o no único, me gustaría agregar es EXTREMADAMENTE RECOMENDABLE que sí sea único.

En primer lugar porque es así como lo define la w3c, y por lo tanto, si quieres validar tu código, no puede haber ids repetidos.

En segundo lugar porque los id no sólo se utilizan para el css, también los utilizarás para hacer referencia a los objetos desde javascript, o jQuery, si pides un objeto por id y hay mas de uno tendrás problemas.

Y por último pero no menos importante, es porque no es necesario, si necesitas hacer referencia igual para varios objetos, utilizas una clase y listo, es posible agregar más de una clase a cada objeto poniendo en su etiqueta html class="clase1 clase2" así que no habrían razones para repetir los id (al menos en principio)

Espero haber sido de ayuda

Saludos!