Правильно ли я понимаю, что компоненты это независимые объекты которые можно использовать на разных страницах (в разных местах страницы) : кнопка, навигация, попап, прочее
Да
pages или view это страницы проекта.
Да
layout это основа для однотипных страниц, админки, главной
Почти. В layout хранится то, что вы используете на каждой странице (header, footer и др)
Сама использую первый вариант - он мне кажется самым удобным и читаемым. Да и почти во всех проектах, где работала, так было.
Ну и еще один бал в пользу первого варианта то, что именно такая структура папок у nuxt.js