мы снаружи не имеем доступа к результатам хэндлера, то есть отправив команду на обработку мы не должны делать "предположений" что оно прям вот сча сделается.
ну смотри, если нет конкурентных запросов на изменение стэйта системы то и проблемы сделать update в базе нет. Для таких задач подходит любой подход даже уровня "а давайте мы перед базой просто postgrest поставим" - тут чем проще тем лучше. Достали поменяли сохранили.
Если же возникают гонки то гонки надо как-то разруливать. Ты положил товар в карзину и в это же время товар сняли с продажи. Что делать? Тут надо с бизнесом разбираться, делать разделение на операции и т.д. Можно конечно "по старинке локи выставить и транзакции фэйлить" но это может пагубно сказаться на масштабировании системы.
То есть CQRS нам даже не всегда нужен когда есть колаборация, а скорее когда вероятность конфликтов действий людей очень высокая.
Иначе мы просто оверинженерим потому что писать круды скучно