Я правильно понимаю, что это почти как обертка для всех объектов, необходимых для представления?
Например, скажем, у вас был интернет-магазин, в котором продавались музыка и DVD. На странице просмотра вы хотите отобразить список всех ваших DVD-дисков и музыки. Итак, вы бы построили объект ViewModel, который имеет два свойства, содержащие список альбомов и список dvds?
Из моего понимания кажется, что у вас есть все ваши модельные классы, т.е. класс Album/Dvd, но просто передать их один будет недостаточно для вашего представления. Использует ли ViewModel в качестве носителя для всех данных, которые требуется вашему представлению?