As vezes você quer ter uma melhor experiência de usuário tendo uma atualização otimista e quer que a interface seja atualizada imediatamente após uma ação e antes de receber a confirmação do servidor. Nesse caso você pode reverter o estado caso a requisição falhe mostrando algum tipo de mensagem de erro para o usuário.
Imagine que você está desenvolvendo uma funcionalidade de "like" para posts em uma rede social. Quando o usuário clica no botão de like
, você quer que o feedback visual seja imediato, mas a ação real de registrar o like depende de uma requisição ao backend demora um certo tempo.
Essa abordagem melhora a responsividade da interface, fazendo o usuário sentir que suas ações têm efeito instantâneo, mesmo em cenários de latência de rede.