In short words, methods created a way to compose actions in one function. But it is much more flexible. It's possible to create async function, and even use a rxjs helper. And is able to get another module's action/state.
Here, getActions, getState (the perform handler), can always get the correct module instance of another module even in the nested action function, depending on where you use the method.