Suponho que meu motivo seja o mais injusto: eu programo em muitos idiomas diferentes ao mesmo tempo (Java, Javascript, PHP) - que requerem ';' então, ao invés de treinar meus dedos e olhos, o ';' não é necessário para o javascript, apenas adiciono sempre o ';'
O outro motivo é a documentação: adicionando o ';' Estou declarando explicitamente a mim mesmo onde espero que a declaração termine. Então, novamente eu uso {} o tempo todo também.
Todo o argumento da contagem de bytes que considero irritante e inútil:
1) para bibliotecas comuns como jquery: use o google CDN e a biblioteca provavelmente já estará no cache do navegador
2) versão suas próprias bibliotecas e configurá-los para ser armazenado para sempre.
3) gzip e minimize se realmente, realmente necessário.
Mas quantos sites têm como maior gargalo a velocidade de download de seu javascript? Se você trabalha para um site top 100 como o twitter, google, yahoo, etc. talvez. O resto de nós deve apenas se preocupar com a qualidade do código e não com as guerras religiosas de semicolon.