Olá, Sergio.
Tudo bem?
A função useMemo memoiza o resultado desse cálculo para evitar que seja recalculado toda vez que ocorrer uma atualização no componente.
O useMemo recebe dois argumentos: o primeiro é uma função que calcula o valor memoizado e o segundo é um array de dependências que especifica quando a função deve ser executada e o valor memoizado deve ser atualizado. Nesse caso, a função de cálculo é executada quando há mudanças nas dependências saldo e valorTotalCarrinho.
Espero ter ajudado. Qualquer dúvida conta com a gente. Valeu.