Локальный state — по умолчанию. Context — для редких глобальных вещей (тема, пользователь). Zustand/Redux — для сложного клиентского state.
Серверные данные (списки, карточки) лучше кэшировать через React Query / loader'ы, а не копировать в global store.
Правило: один источник правды. Дублирование state — главный источник рассинхрона UI.