А почему бы собственно и нет. К слову вроде как в последних версиях FF это вроде как уже нельзя делать или только собираются...
Вообще так сложилось исторически, когда на рынке были только Netscape и IE. Тогда только только появился JS, W3C вроде как еще не стандартизировало DOM ивенты да и вообще какой-то трешачек творился. Кто-то из разработчиков браузеров сделал возможным делать так:
<a href="javascript: alert('foo');">click me</a>
людям понравилось. Другие разработчики подхватили идею. Что бы это все работало, решили сделать выполнение JS введенного как URL, со своим протоколом и все такое. Это эдакое наследие давних времен. Хотя это лишь одна из версий.
Сейчас эта практика считается дурным тоном, а масса лемингов таким образом раздает на право и на лево свои куки, потому что любят копировать и вставлять все что не поподя.