Каким образом с технологией ASP.NET MVC соотносятся языки программирования С# и VB.NET?
У веб приложения есть две части - клиентская и серверная. Клиентская - это веб страничка, которую пользователь видит в браузере. Серверная - это то, что генерирует на сервере эти странички, которые загружаются у пользователя на клиенте (в браузере). 
Клиентская часть - это HTML, CSS и JavaScript - то бишь те технологии, которые используются для создания обычных веб страниц. При этом на сервере могут быть использованы очень разные стеки технологий. В частности для стэка .NET - есть IIS (веб-сервер для хостинг-серверов на базе Windows), на котором работает ASP.NET (это веб фреймворк для генерации веб страниц) с использованием языка программирования С# или VB.NET. 
Пример другого стека на сервере: веб-сервер Apache (обычно на хостинг сервере на базе Linux), на котором работает скажем веб-фреймфорк CakePHP с использованием языка программирования PHP. 
Еще один пример: веб-сервер Passenger (на хостинг сервере под управлением операционок семейства Unix), на котором работает веб-фремворк Ruby on Rails, где разработку вы ведете на языке программирования Ruby. 
Есть подобные серверные комбинации для других языков программирования - Python, Java и тп. 
И если в случае .NET стэка (где один по сути производитель всего - и операционнки и веб сервера и веб фреймворка и языка программирования - это Майкрософт), то другие лптформы позволяют составлять больше комбинаций. 
Например, для языка программирования PHP есть много разных веб фреймворков. Для других языков - тоже. Даже для языков С# и VB.NET есть ASP.NET WebForms (раньше его наывали просто ASP.NET) и ASP.NET MVC (сюда же я бы отнес вариацию фреймворка для создания API - Web API). Для многиэ стэков есть много разных веб-серверов, веб-времворков и соответственно можно использовать много вариантов связок ОС - ВС - ВФ - ЯП
На счет "Пишем сайт на VB.NET" это скорей всего значит - пишем на VB.NET веб приложение, которое будет использовать один из веб фремворков (либо ASP.NET WebForms либо ASP.NET MVC). 
Надеюсь, мне удалось внести ясность в терминологическую кашу, окружающую нас. К сожалению, даже в википедии я часто вижу эту кашу и кто-то начинает называть ASP.NET языком программирования. Это не так.
ASP.NET MVC это не язык. Это часть .NET Framework для веб разработки в рамках архитектуры MVC( есть еще Web Forms, но он медленно и верно отмирает). Для разработки на ASP.NET MVC нужно использовать .NET совместимый язык(99% - что C#) - в частности для кода контроллеров используется C#. Для View - html/css/js, но и там торчат уши C# или VB.NET. На каком языке написан код модели - немного отдельная песня. В теории ничто не мешает загрузить сборку на каком-нибудь другом языке и использовать рефлексию, но все же лучше и проще использовать .NET проекты.