Obrigado por compartilhar a experiência. É bem comum esse aumento das especificações por parte do cliente quando se lida com pessoas não técnicas, pois elas pressupõem que uma alteração é como corrigir um parágrafo em um texto, quando na verdade é como trocar o motor de um carro.
Para projetos que começam do zero, é muito importante fazer um fluxo funcional o mais rápido possível, do tipo "cliente pode postar algo no site", "cliente pode fazer um pagamento usando um único meio de pagamento", ao invés de esperar ter todas as funcionalidades para o cliente validar ou entregar a ele. É até importante o próprio cliente validar a solução com o público dele, pois o projeto pode tomar um outro rumo, dependendo do retorno dos usuários dele, e isso é algo completamente esperado.
Esses primeiros problemas poderiam ter sido descobertos em um estágio inicial e vocês poderiam já pedir o pagamento de uma parte do total.