jQuery - это про императивное программирование. jQuery - это про то "
как" манипулировать dom элементами. Итог - смесь dom и бизнес-логики. Это невозможно разделить.
Angular - это про декларативное программирование. В Angular мы не говорим "как", мы говорим "
что" мы хотим сделать с dom и он делает это. Что позволяет отделить бизнес-логику от манипуляций с dom.
Соответственно вся эта история не про jquery vs vanilla, а про императивное vs декларативное программирование для работы с dom. Большинство этого не понимает и спорят о jquery vs vanilla, хотя всё это одно и то же, до тех пор пока у вас не появляется какая-то штука, которая меняет парадигму работы с dom с императивного на декларативный. Внутри этой штуки можно использовать хоть vanilla, хоть jquery. Без этой штуки - у вас каша, хоть с vanilla, хоть с jquery.
Собственно об этом написано в
википедии:
AngularJS is built on the belief that declarative programming should be used to create user interfaces and connect software components, while imperative programming is better suited to defining an application's business logic.
Остальные фреймворки про то же самое. Это и стало причиной стремительного роста популярности javascript фреймворков.