Hola:
Ese caracter indica que el enlace es hacia una "marca" (la "m" de "html" -markup- es marca), y si en el href de un enlace está ese carácter simplemente indica que se enlaza a una marca... si es el primero de los caracteres es en la misma página... puede el enlace empezar por un sitio web normal, seguido de ese carácter y terminado en la marca concreta.
Las marcas equivalen al id de un elemento o al atributo name de un tag "a" (creo que era la idea original).
por ejemplo:
<h1 id="titulo">Este es un título</h1>
para que la página se posicione en ese tag basta con pinchar en el enlace:
<a href="#titulo">ir al título</a>
El mismo efecto se conseguiría con:
<h1 ><a name="titulo">Este es un título</a></h1>
Aparte, hay páginas muy mal hechas y semánticamente "horrorosas", y ponen ese href para lanzar un script, por el vicio de algunas (todas) librerías o de querer mostrar la mano del cursor.
Saludos