хостинг — это механизм, позволяющий одному веб-серверу (имеющему один IP-адрес) обслуживать несколько (и часто довольно много) сайтов с разными доменными именами. Т. е. для каждого сайта хостинг-провайдером создается как бы отдельный "виртуальный сервер" — определяются его имя, параметры, корневые папки для html и CGI и т. д.
При просмотре сайта броузер обращается к серверу, передает ему в числе прочих параметров запроса имя сайта, к которому он фактически обращается, и "физический" сервер использует параметры "виртуального" сервера этого сайта.
Единственным принципиальным недостатком этого повсеместно распространенного механизма (на практике — не существенным) является невозможность обратиться к сайту по IP-адресу — без указания имени сайта сервер просто не будет знать, к какому сайту, расположенному на нем, идет обращение — т. к. у них всегда один IP адрес. В такой ситуации сервер часто выдает "сайт по умолчанию".