Библиотеки типа React позволяют создавать динамичные и интерактивные пользовательские интерфейсы.
Преимущества использования:
1) С React.js намного проще разрабатывать и поддерживать пользовательские интерфейсы, где не нужно делать обновление всей страницы на любое действие.
2) Yа сервере вы работаете только с данными и не генерируете разметку, что положительно сказывается на производительности сервера.
React.js как и его прямы конкуренты фреймворки Angular и Vue нужны для создания пользовательских интерфейсов.
Эти фреймворки исповедуют принципы реактивного программирования, что в значительной степени упрощает процесс разработки.
Основной смысл фрейморка в том, что мы управляем данными, а фрейм сам перестраивает dom дерево. Ну это если на пальцах :))