Не очень понимаю сочетание "хранить бизнес-логику". Знаю, что её можно по-разному реализовывать, а вот как хранить?
В Vuex удобно держать данные, которые требуются во многих местах приложения.
Ну, а дальше:
actions/mutations - для изменения этих данных,
getters - для получения производных от этих данных.
И, да, вовсе не обязательно всю работу с данными осуществлять через vuex. Часто компоненту удобнее хранить своё состояние внутри себя и не показывать больше никому.