Все очень просто: дефолтный механизм проверки изменений в React — оператор ===. Соответственно, если вы измените объект, а не создадите новый, то компонент просто не перерендерится.
Ну а дальше уже начинаются архитектурные преимущества — отсутствие состояние -> чистые функции -> простота тестирования и дебага.