Hoje em dia nem considero context como uma alternativa, já que há dezenas de opções melhores como Zustand, Recoil... Ainda acho válido context para alguns contextos como tema, mas de maneira geral, é difícil manter uma boa arquitetura no projeto usando apenas context.
Boa zustend é top. E você está coberto de razão. Na prática para quem também está lendo isso vai algumas ideias de casos de uso. Se o que você quer usar não muda tanto, como um tema, idioma, autenticação, coisas do tipo. Vá de ContextAPI. Porque é leve nativo e sem dependências externas. Mas em contra partida se você precisa atualizar estados globais dinâmicos que mudam com muita frequencia. Vá de zustend. Porque o ContextAPI ao mudar um estado global, renderiza todos os components que o consomem de novo, o famoso "re-render". Já o zustend não gera essas renderizações desnecessárias e é de fácil utilização. Eu o usaria em carrinho de compras, formulários complexos, filtros dinâmicos, dashboards, etc. Espero que complemente o conteúdo do amigo a cima e ajude de alguma forma.