Делают основную вёрстку и в неё добавляют отдельные компоненты
Да.
сразу вся страница вместе с вёрсткой изначально это какой то глобальный компонент ?
Тоже да.
Смотрите по задаче.
Если у Вас только часть страницы динамична и зависима от некого состояния, то Вам никто не мешает сделать react компонент только для этой части страницы, а статичное содержимое оставить статичным.
Но я всегда более склонен ко второму варианту и считаю его более верным (только не когда это может создать больше проблем).
Как компоненты взаимодействуют друг с другом (меняют состояние друг друга)?
Почитайте про Redux.
А в целом Вы вольны делать так как считаете нужным.
React - это всего лишь view приложения и он должен (но не обязан конечно) лишь знать о том как отрисовать компонент, но сами компоненты не должны хранить какую либо бизнес-логику приложения.
Мы например React используем параллельно с коллекциями и моделями Backbon'a, ими же и манипулируем, а react только отображает их состояние и перерисовывает при их обновлении.
Для такой связки есть готовые библиотеки (например вот
https://github.com/magalhas/backbone-react-component), мы правда под себя писали сами.