Каждый просмотр имеет одну и только одну ViewModel
Я думаю, что если вы строго придерживаетесь шаблона, то в каждом представлении будет только одна ViewModel. В нашем приложении есть случай, когда требования изменились в середине потока, и было проще всего иметь ссылку View на две разные модели ViewModel. В зависимости от того, как вы реализуете шаблон, это может быть или не быть возможным.
Существуют ли случаи, когда одна ViewModel обслуживает два представления
Да, это одно из преимуществ шаблона.
Проверка выполняется исключительно ViewModel
Не обязательно. Мы решили, что наши классы модели реализуют IDataErrorInfo и сами выполняют проверку. Это гарантирует, что независимо от того, где используется класс Model, проверка будет одинаковой. Если валидация когда-либо нуждается в изменении, она находится только в одном месте.
Модель довольно тупая
Это настолько глупо, насколько вы хотите. Вы можете включить в модель валидацию и бизнес-правила, если хотите.