Верстка - это процесс создания шаблона. Имеет большего общего с веб-дизайном, потому что именно верстальщик занимается интеграцией графики и зачастую контента. И тут не сложно понять, что делают это на языках разметки - HTML и CSS. Сами верстальщики не пользуются интересом среди работодателей.
Рабочие кнопки - это логическая часть, которую можно поделить на фронтенд и бэкенд.
Фронтенд-разработчик в вебе, это тот, кто умеет работать с шаблонами и скриптами (JS). Это и динамика, и возможность обработки информации, и много чего еще.
Бэкенд-разработчик в вебе уже не относится к верстке, однако именно от него зависит обработка информации на сервере... те же формы регистрации никто не делает на JS, а формы, сделанные чисто на HTML, никакой функции выполнять не будут.
объясню простыми словами. Без заумных речей и обозначений. Верстка - это преображение дизайна(макета) в код. Есть дизайнер, например, который нарисовал дизайн в фотошопе, фигме, или подобных прогах. По сути, этот дизайн - это просто картинка. Если открыть исходник данной картинки в среде, в которой она разрабатывалась, можно увидеть слои(элементы), из которых она состоит. Это называется Макетом. И вот верстальщики, это те люди, которые данный макет преобразуют в код. Чтобы эта "картинка" была отдельными элементами на сайте. Следовательно, верстка не имеет ни какой логики. Если у тебя, в твоем дизайне, который ты сверстал, есть кнопка, ты верстаешь данную кнопку, делаешь ей стили, как на дизайне, но при клике на данную кнопку ничего происходить не будет. Для того, чтобы что-либо произошло, на данную кнопку нужно повесить обработчики. А это уже фронтенд или бекенд часть. Верстка - это чистые HTML+CSS.
Верстальщик в широком смысле не должен знать JS/TS и уметь программировать.На практике часто совмещается, тем более что современные сайты уже не пишутся на голом HTML, а пишутся с использованием фреймворков, таких как react, angular.