Как решать, где должно жить состояние?
Ближе всего к месту использования: сигнал в компоненте для локального, сервис с сигналами для состояния одной фичи, и полноценный стор — только когда одно состояние пишут многие фичи и нужна прослеживаемость изменений. Брать NgRx по умолчанию — платить бойлерплейтом на каждом экране; взяться слишком поздно — платить рефакторингом, когда баги уже про рассинхронизацию состояния.