Chaves estrangeiras fazem algumas coisas. Obviamente, eles fornecem integridade de dados integrada, como Macy Abbey mencionou.
Curiosamente, o otimizador de consulta do seu RDBMS favorito também pode usar restrições como chaves estrangeiras para fazer otimizações adicionais. Basicamente, o banco de dados pode determinar se ele pode fazer um trabalho melhor ao escrever uma consulta do que você. A presença de chaves estrangeiras permite que o banco de dados faça essas suposições. Você pode encontrar um ótimo exemplo em As restrições de chave estrangeira ajudam no desempenho? . Embora esse link seja específico do SQL Server, o princípio é o mesmo, independentemente do mecanismo de banco de dados.