Для чего нужны mutations понятно.
А что умеют actions по сравнению с обычным классом (в "сервисном слое"), методы которого вызывают мутации (и могут быть асинхронными).
Т.е. вместо вызова actions через dispatch можно просто вызывать методы некоего класса. В чем отличие подходов?