Redux provides extremely easy state transfer between the components.
The states are always predictable in Redux and its maintenance is relatively easy.
Debugging and testing code in Redux is simple through logging behaviour and status.
Redux provides great performance. It might occur to us that keeping the application's state global would result in bad performance. However, usually, that is not the case as React Redux implements a lot of performance optimizations internally so that our own connected component only re-renders when it actually needs to.
Redux also offers state persistence by storing the application's state to local storage and restoring it after a refresh.