Excelente pergunta.
Resposta padrão: depende. Não há uma bala de prata.
O Context API tem as suas peculiaridades. Você precisa criar todo aquele código necessário para iniciar o provedor.
Já o Recoil tenta uma abordagem mais simples e leve, baseada nos átomos.
Independente de qual das duas opções você escolha (e eu já vi projetos muito grandes usando mais de uma forma de gerir estado), o mais importante é que tudo esteja organizado e fácil de entender. Cada uma delas tem um preço a ser pago, um trade off.
Entendendo as boas práticas de gestão de estado é o melhor caminho, assim você consegue sempre ter algum encapsulamento e, caso necessário, trocar de uma solução pra outra.
Analisar o cenário, a equipe e o projeto vai sempre te ajudar a decidir por uma abordagem que se encaixa melhor em determinada situação.
Repare que além dessas duas opções exitem outras várias:
Jotai, Redux, MobX, Akita, Hookstate.... e a lista é enorme!
Vale a pena conhecer algumas para saber sempre as vantagens e desvantagens que você ganha ao escolher uma delas.