SQL, HQL ou Criteria API?

Estava aqui no trabalho resolvendo uns bugs de códigos legados e percebi um fato curioso: há alguns DAO‘s usam SQL, outros HQL e outros Criteria. Como todo código onde dezenas de pessoas de diferentes níveis de conhecimento meteram a mão, não há nada em comum e nenhum critério foi adotado…