Когда что использовать? Зачем вообще существует <transition>, если можно просто добавлять Вьюхой классы? Производительность? Есть ли бенчмарки? Или в чем прикол?
Представьте, что вы компонент vue в dom добавляете и вам нужно сделать анимацию появления. Вам придется в событии mount компонента назначить класс, который будет отвечать за появление. Чтобы не писать код, а делать это декларативно есть transition.