Tudo acontece devido à retina, região do fundo dos olhos que é revestida por inúmeros vasos sanguíneos. Como o sangue é vermelho, quando a luz do flash das máquinas fotográficas consegue penetrar nessa região, a imagem refletida pode ficar meio avermelhada.
Nem sempre o efeito ocorre, pois não são todas as vezes que a luz do flash consegue penetrar nessa região do olho, visto que a pupila, que é da cor preta, se contrai e impede a passagem da luz. Por esse motivo, é bem mais provável que uma pessoa fique com os olhos avermelhados nas fotos tiradas em ambientes escuros, pois sua pupila se dilata e permite a entrada de luz na retina.
Hoje em dia, existem recursos nas próprias câmeras, que emitem luzes antes do flash com o fim de contrair a pupila e evitar o efeito indesejável.

Olhos vermelhos em foto.