Как на хостинге определяется конкретный сайт, если IP сервера один?
HTTP-клиент (браузер, к примеру) при запросе странцы, среди прочих заголовков передает заголовк Host: в котором, собственно, и указывает домаенное имя, к которому стучится. Сервер этот заголовок видит и обрабатывает соответственно.
В HTTPS (TLS/SSL) для этого есть специальное поле SNI, использующееся для того же самого.
Когда клиент вводит адрес сайта в адресную строку в браузере, осуществляется запрос к DNS-серверу (либо кешу, если ранее уже обращался) и берет оттуда адрес, по которому нужно прогуляться, при этом в HTTP-запросе остается доменное имя.
Когда запрос клиента приходит на сервер, там веб-сервер (который висит на том IP-адресе, который нам дал DNS) получает доменное имя, с которым пришел клиент, и посылает нас в директорию виртуального хоста этого домена и там отдается результат запроса - содержимое сайта.
DNS здесь - это, как правило, указанные DNS-серверы в настройках сетевого интерфейса либо DNS-серверы Вашего провайдера.
NS-серверы - это DNS-серверы хостинг-провайдера. Они нужны для того, чтобы управлять доменным именем на том хостинге, где Вы создаете сайт.
Чтобы Ваш домен куда-то вел, нужно в настройках DNS-зоны создать, например, А-запись с указанием IP-адреса веб-сервера.
Если Вы зарегистрировали домен и решили самостоятельно им управлять, Вам придется каждый раз вручную создавать А-записи с нужным именем и адресом.
А если хотите автоматически, то делегируете домен на NS-серверы хостинг-провайдера и все. Создавая сайт у него же, автоматически создастся А-запись в файле зоны Вашего домена.