Когда использовать Vuex?
Не придирайтесь к словам, рассуждайте логически. Как только у вас в приложении возникают данные, которые могут быть нужны различным компонентам (это может быть информация о текущем пользователе, о сессии, или что-то, что вы потом сохраняете в localstorage) - вам нужно использовать отдельное хранилище, в данном случае Vuex. Просто потому, что это удобно.
Есть проблема - коммуникация между компонентами, не находящимися в одном иерархическом древе. Ее решение - это использование экземпляра Vue, как шины, для подписки/вызова событий.Пример в официальной документации.
Когда есть вероятность, что такое решение может быть недостаточно мощным или удобным, стоит брать на вооружение Vuex. Помимо этого, Vuex позволяет также намного более прозрачно структурировать ваш код, особенно в этом могут помочь его система модулей.
Но все же бытует мнение (не мое), что острой необходимости во Vuex нет и лишь 1% проектов может его реально потребовать. Однако это не повод от него отказываться, конечно же :)