Você está quase completamente certo. A única correção é que eles são hashes do arquivo inteiro.
Às vezes, os arquivos podem ser corrompidos durante o download, da maneira que for usada para transferi-los. Os hashes existem para garantir que o arquivo esteja intacto. Isso é especialmente útil para usuários com conexões ruins à Internet. Quando eu estava usando o fax modem, muitas vezes eu tinha problemas com downloads corrompidos.
Alguns gerenciadores de download (como GetRight, se bem me lembro) podem até calcular automaticamente o hash do arquivo e compará-lo com o valor conhecido.
Outro ponto interessante é a segurança. Um problema potencial com as ferramentas de código aberto é o quanto você pode confiar no distribuidor. Muitas vezes, programas como o Eclipse são a principal ferramenta usada pelas empresas de software e, portanto, é extremamente importante que elas passem do desenvolvedor para o usuário intacto. Como os programas são de código aberto, é possível, por exemplo, criar uma versão infectada que pareceria normal, mas vazar o código-fonte para algum servidor remoto ou infectar programas criados pelo software com um vírus (acho que isso aconteceu com alguma versão do Delphi) ou algo semelhante. Por esse motivo, é importante ter o hash correto oficial, que pode ser usado para verificar se o arquivo distribuído é o que afirma ser.
Algumas reflexões sobre os canais de distribuição. Muitas vezes, o software livre pode ser encontrado em grande quantidade de sites e sites mais populares, como o SourceForge, por exemplo, possuem um grande número de espelhos. Digamos que haja um servidor em Barland que espelha um grande site de distribuição de software. O FooSoft usa o programa distribuído por site e eles estão na República de Baz, ao lado de Barland. Se alguém quiser se infiltrar no FooSoft, ele poderá modificar apenas a cópia no espelho Barland e esperar que o software de geolocalização garanta que o FooSoft obtenha as versões modificadas. Como as versões de outros espelhos são boas, as chances são menores de que o malware seja detectado. Você também pode fazer com que o malware detecte o endereço IP do computador e ative-o apenas se for de um determinado intervalo, diminuindo assim as chances de descoberta e assim por diante.