If I've understood it properly, it sounds like an undo/redo feature (e.g. of a text editor) would be one clear use case. I'd like to know if I got it right, and about other examples.
This is sort of secondhand knowledge, because I haven't used redux myself, but I've heard it described as a command pattern-turned-framework. Instead of changing your game's state directly, you issue commands that some other part of your app knows how to interpret.
This has sort-of the same effect as using an external DB: you get a nice log of all the ways your app's state has changed, and since it forces immutability you get things like multi-level undo/append only storage for free. The other part, and this probably matters more for a webapp than a game, is that you can attach watches to commands, now that you've reified them. So you can update X part of the dom only when you know a command has changed its part of the world and so on.
My gamestate actually looks a bit like this, except I stumbled upon it by accident so it's mixed up with a bunch of other stuff. I might check this out to see if it clarifies my design a bit.