Um <a>elemento é HTML inválido, a menos que tenha um atributo hrefou name.
Se você deseja que ele seja renderizado corretamente como um link (por exemplo, sublinhado, ponteiro de mão, etc.), o fará somente se tiver um hrefatributo.
Um código como esse é, portanto, às vezes usado como uma maneira de criar um link, mas sem a necessidade de fornecer uma URL real no hrefatributo. Obviamente, o desenvolvedor queria que o link não fizesse nada, e essa era a maneira mais fácil que ele conhecia.
Ele provavelmente tem algum código de evento javascript em outro lugar que é acionado quando o link é clicado, e é isso que ele realmente quer que aconteça, mas ele quer que pareça um <a>link de tag normal .
Alguns desenvolvedores usam href='#'para o mesmo objetivo, mas isso faz com que o navegador pule para o topo da página, o que pode não ser desejado. E ele não podia simplesmente deixar o href em branco, porque href=''é um link para a página atual (ou seja, causa uma atualização da página).
Existem maneiras de contornar essas coisas. Usar um pedaço vazio de código Javascript no hrefé um deles e, embora não seja a melhor solução, ele funciona.