Oii, Samuel.
Muito interessante ver que você já tá aplicando boas práticas no seu código, como o uso de letras maiúsculas para indicar constantes (LIMITE_GASTOS) e a tipagem explícita (: float). Isso demonstra um cuidado especial com a legibilidade.
Sobre a implementação, há um detalhe técnico importante que muda completamente o funcionamento do seu programa: a representação numérica.
No Python, assim como na maioria das linguagens de programação, o ponto . é utilizado como separador decimal (o equivalente à nossa vírgula), e não como separador de milhar.
Quando você escreve 3.000, o interpretador entende que o valor é 3 (três inteiros), e não três mil. Se você rodar o código assim, qualquer despesa acima de 3 reais acusará que o orçamento estourou. Para corrigir, o número deve ser escrito sem o ponto de milhar: 3000 ou 3000.0.
Respondendo à sua dúvida teórica: sim, entender a tabela-verdade é essencial.
As estruturas if, elif e else operam 100% baseadas em lógica booleana (Verdadeiro ou Falso). Embora neste exercício a condição seja simples (apenas uma comparação), em situações reais você frequentemente precisará combinar condições usando and (e), or (ou) e not (não).
Nesses casos, a tabela-verdade é a ferramenta que te permite prever o comportamento do código. Por exemplo, compreender que "Verdadeiro E Falso resulta em Falso" é o que impede erros de lógica em sistemas de login ou validações complexas. Dominar esse conceito teórico vai facilitar muito a sua vida quando os algoritmos ficarem mais complexos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!