Дело в том, что оба подхода имеют недостатки. Css - более производительный и не грузит систему, но при этом менее гибкий в использовании, js-бьет по производительности, но при этом сделать можно больше всего специфичного + сапорт старых браузеров лучше. Выбор должен быть по обстоятельствам. Уже есть новая фичя для анимации, которая соединяет 2 подхода гибкость js и производительность css - Web animation api, но поддержка его еще хромает, хотя есть адекватные полифилы.