Redux нужен вам, если ваше приложение разрастается и управлять потоком данных становится сложнее:
- допустим вам нужно вызвать коллбэк и обработать его в чайлде, который стоит на том же уровне но через N-детей, в ридаксе же вы вызываете dispatcher и не беспокоитесь о том как же передать этот коллбек туда.
- или если у вас есть данные, которые используются в разных компонентах, редублицировать их? (ноу вэй), удобнее вытаскивать их из одного большущего объекта в таком случае.
- ну и плюс миддлвары