Acho que a resposta geral é que muitas vezes é muito complexo (ou impossível) calcular a quantidade de tempo que levará.
Às vezes, seria apenas uma questão de reduzir mais tempo de computação para estimar melhor a quantidade de trabalho necessária (por exemplo, fazer uma análise melhor dos arquivos a serem copiados ou aplicar um cálculo mais complexo para estimar melhor o número de etapas necessárias para complete uma simulação).
Outras vezes, é bastante indeterminado. Quando o sistema está instalando um novo programa, muitas vezes há muitas dependências para verificar se estão instaladas. E, geralmente, não se tem idéia de quanto tempo cada um levará e de quais dependências esses por sua vez precisam. Você já pode ter todas as dependências instaladas e isso pode levar 30 segundos, ou pode estar faltando dezenas e isso leva horas. Difícil dar uma estimativa justa disso, especialmente quando cada situação será única.
Além disso, outros drenos no sistema podem sofrer alterações ao longo do tempo (devido ao que o usuário faz ... ou processos em segundo plano / agendados).
Às vezes, a estimativa poderia ser melhorada se o programador colocasse um pouco mais de trabalho neles. Mas é outra realidade que essa provavelmente não é a principal preocupação dos desenvolvedores, em comparação com o avanço das tarefas produtivas reais que o aplicativo pode realizar.
No final, no momento, acredito que muitas vezes é apenas uma estimativa linear - uma olhada em quantas tarefas básicas necessárias o programa foi concluído. Portanto, de fato tende a ser uma estimativa muito aproximada, e você geralmente deve considerá-la como tal.
Uma boa analogia pode ser quando você está lendo um livro.
E você decide que quer ter uma idéia de quanto tempo levará para terminar o livro ...
Você pode verificar a contagem de páginas e obter uma estimativa rápida com base no ritmo até agora.
Pode ser uma estimativa ruim se você acabou de começar a ler, porque sua velocidade talvez ainda não seja típica. Mas muitas vezes seria um palpite bastante difícil.
Ou você também pode folhear o livro, ter uma idéia aproximada de quantas fotos existem e o espaçamento do texto. E então tenha uma idéia melhor do que você enfrenta.
Mas ainda pode ser uma estimativa ruim se, por exemplo, a legibilidade do texto diminuir, talvez passando da prosa simples para a prosa complexa. Ou a estimativa pode acabar errada, porque você não conseguiu prever outra tarefa que desviaria sua atenção.
Você pode obter uma ótima estimativa aplicando uma grande parte do tempo para analisar cuidadosamente o que resta no livro, página por página, e também pode aprimorá-lo verificando seu calendário e mantendo uma lista de ritmos de leitura anteriores de longo prazo para vários livros.
Mas, no final, o tempo que leva para fazer isso vale o atraso em apenas ler o livro?
Todos gostaríamos de melhores indicadores. Mas, como é, provavelmente teremos de nos valer de estimativas aproximadas, pelo menos até que os computadores como um todo comecem a obter algoritmos padronizados aprimorados e a serem adeptos a "inteligentemente" pesar e antecipar fatores dinâmicos (como os seus caminhos)!
E a barra de progresso nisso talvez esteja presa a 5% no momento. Vamos ter que ver como isso vai 8-)