A principal diferença entre preço fixo e horário é quem assume o risco. Particularmente nesse campo, as estimativas do projeto são apenas aproximadas e podem ter uma grande quantidade de incerteza.
Portanto, por um preço fixo, o desenvolvedor deve garantir alta estimativa para cobrir dificuldades imprevistas. Isso é razoável, pois na maioria das atividades de negócios, a cobertura do risco vale a pena (é assim que a empresa de seguros funciona).
Se o cliente confiar no desenvolvedor o suficiente, uma taxa horária permitirá que o cliente economize dinheiro se o projeto terminar mais cedo do que a estimativa alta, embora, se exceder, o cliente perderá dinheiro. Nesse caso, o cliente cobre o risco e, em média, economizará dinheiro.
Especialmente se o cliente for uma empresa grande e o desenvolvedor for um indivíduo, é provável que o cliente esteja em uma posição melhor para assumir riscos. Ter que pagar taxas adicionais de 160 horas provavelmente prejudicará uma empresa maior, menos do que ter que trabalhar um mês extra de graça vai prejudicar um desenvolvedor solitário.
Também facilita a negociação de alterações de especificações quando o desenvolvedor não precisa fazer uma reavaliação completa para cada alteração.