The usage of redux-persist depends upon the use case of the application.
First, let me highlight some of the main features of redux-persist
- Usage of PersistGate which automatically provides a delay in - rendering of the componentsuntil the state gets- persistedalong with the usage to show the- loadingcomponent.
 
- Custom functions to persist based on multiple types such as  - persistStore,- persistReducerand- persistObject
 
- AutoMergingof the- initialStatesfrom the different states based on- shallowand- deeplevels
 
- Probably the most important feature of - blacklistingand- whitelistingthe- reducers
 
- Nested Persistence for - shallowlevel- persistenceand- deeplevel- persistence
 
- Persisting with - migrationsto store different versions of the- redux-store.
 
- Transforms to support immutable, compression, encrypt, filter, etc. 
Considering the application you build is just for development purposes, then it would require at most PersistGate, persistStore and probably blacklist and whitelist of the reducers, which would still be considerable amount of work considering that you are aware what you might need for your application.
Now for the applications that are production level and are prone to scaling, then it would be requiring at least 5 / 7 features that I have listed above. Without this module you might need to install modules for compression, encryption and much more, find a way to gracefully store different versions of the redux-store and retrieve and display what might fit your requirement, along with the rehydration of that redux-store state.
There are many more implications to this, which will be encountered later on. Therefore based on the requirements of the project, I think it would be beneficial to use this package, to manage the redux-store storage