если во ВКонтакте миллионы пользовательских аккаунтов, то, получается, что для каждого из них существует отдельная папка/файл на сервере
Это предположение в корне неверно. Большинство веб-фреймворков сейчас позволяют настраивать
механизмы обработки URL по шаблонам, и большинство страниц сайта генерируются, а не хранятся на диске готовыми.
Почитайте как вообще сейчас устроен веб-бэкенд у большинства сайтов. По сути это всё исполняющиеся на сервере программы (а на крупных сайтах - целый комплекс программ, расположенных на многих серверах и взаимодействующих между собой), которые могут сделать кучу разных действий (сходить в базу данных, переработать полученные от пользователя входные данные, прочитать файлы на диске, сделать запросы к другим сервисам) и в конечном счёте генерируют ответ в виде HTML-страницы, или же в машиночитаемом формате, который затем обрабатывается на клиентской стороне, например в формате JSON или XML.
Если очень-очень сильно упростить, то задача программиста, специализирующегося на backend-разработке - писать программы, которые принимают HTTP-запросы, обрабатывают их, и генерируют ответ в виде HTML/JSON/ещё чего-нибудь. Другое дело, что "обработка запроса" может быть очень сложной операцией и состоять из сотен более мелких.