Как используется React.js в плане разработки веб-сайта? (Какова его роль)?
Ответ очень грубый и для новичков (опытные разрабы меня оклюют за это но все же)
Реакт это фреймворк и соответственно задает некие правила разработки фронт части сайта.
Но если про то как он работает, то вкратце:
Вы создаете некий компонент в реакте, а он в свою очередь переводит этот самый компонент в тот же самый html код со стилями, и добавляет ему всякие js - интерактивности.
Сделан для удобства разработки сайтов (чтобы вы не писали сотни строк html, а потом потели и стилизовали это с помощью css, а + ко всему этому, еще и нужно с помощью js задавать какие-нибудь свойства вашему блоку(компоненту), к примеру чтобы при клике на кнопку у вас скрывался блок.
Что касательно компонентов в реакте, то напоминает классы в ООП. Т.е вы создаете класс(компонент) у него есть свойства и методы. В свойства класса(компонента) вы записываете значения, которые необходимы для построения из этого класса(компонента) уже обычного тега html и его стилизования, а методы класса(компонента) нужны чтобы отрисовать этот компонент и следить за его состоянием
Чтобы понять (если недоступно описал)  то, что я описал ГРУБЫМ языком:Статья на Хабре
На реакте пишутся приложения, которые работают в браузере.
такие получают данные в виде json и выстраивают html на их основе.
при переходе по ссылке нет обновления страницы, изменились данные - перестроился интерфейс.
html там управляется реактом и с ним напрямую не работают, вместо этого есть jsx.