O objetivo de um freelancer deveria ser escolher um nicho e conseguir atender diversas demandas sem precisar ficar batendo a cabeça tentando atender todo tipo de demanda.
Fazendo a analogia de um freelancer com um restaurante, todo restaurante sempre se especializa em um nicho. Se sou um restaurante de comida japonesa, já tenho o peixe fresco comprado, o cozinheiro tem experiência em comida japonesa, já tenho inclusive alguns pratos de comida japonesa prontos antes dos clientes chegarem. Se aparecer um cliente pedindo uma pizza, vou educadamente falar que não sirvo esse tipo de prato.
Agora imagina se eu for tentar servir feijoada, pizza, sushi, churrasco. Imagina o quanto de ingredientes precisaria comprar todo dia, a infraestrutura da cozinha necessária para isso (forno para pizza, churrasqueira). Até existem restaurantes por quilo que tentam fazer isso, mas o resultado é bem ruim, a massa passa do ponto, o churrasco está duro, o sushi horroriza os japoneses e os clientes saem insatisfeitos (detalhe que um restaurante pode ter vários cozinheiros, um freelancer geralmente não tem vários desenvolvedores trabalhando para ele).
Então o ideal é que você tenha um sistema pronto, testado e para cada cliente que vier, você só faça customizações pequenas. Aí você ganha dinheiro, tem um negócio sustentável e o cliente sai feliz com um produto que foi testado e aprovado no mundo real. Como você pode ver, não é um negócio fácil, principalmente para alguém muito iniciante.
Imagina um cozinheiro iniciante, que ainda está tentando cozinhar feijão na panela tentando fazer peru de natal, bolo de casamento, churrasco de carneiro e comida indiana? É óbvio que o resultado não será bom e com um programador não será diferente.