Итак, мы посмотрели, что React имеет у нас такую виртуальную структуру. Т.е. структура, которая генерируется Javascript. React создает свое DOM дерево, которое он, соответственно прорисовывает с помощью средств языка Javascript.

Но, зачем такие сложности? Зачем React рисовать свое DOM-дерево и все данные размещать в какому-то корневом элементе. 

Почему не воспользоваться обычным DOM и не публиковать изменения в него?

Причина здесь в том, для чего React создавался.

По мере развития интернет, стало нужно создавать такие приложения, которые обновляют свое содержимое без перезагрузки страницы. 

См. видео, чтобы посмотреть пример, что имеется в виду и зачем React нужна своя DOM модель документа.