1. Потому что есть два типа ссылок - относительные и абсолютные. В абсолютных прописывается полный путь, начиная с указания протокола, например
<a href="http://site.ru">Кому-то пора почитать про азы HTML</a>
2. Потому что есть такой тег
<base href="/">
, который используется, когда вы указываете относительные ссылки и помогает формировать полный путь.
Например он указан так:
<base href="http://site.ru"/>
Тогда для ссылки
<a href="/#about">Кому-то пора почитать про азы HTML</a>
полный путь будет
site.ru/#about, т.е в данном случае якорь будет искаться на главной странице, а не на той, где размещена ссылка