Custo futuro de atalhos de projeto ou implementação.
Sistema antigo ainda em uso, muitas vezes difícil de modificar.
Ajustes para novos ambientes, plataformas ou regulamentações.
Correção de defeitos descobertos após a entrega.
Melhorias de desempenho, usabilidade ou novas funcionalidades.
Reestruturação do código sem alterar o comportamento observável.
Controle histórico de mudanças em código e artefatos.