Что-то я тогда попутал. В книге прямым текстом сказано - " модель - оболочка вокруг исходных данных, что мы работаем с моделью данных и дублирование не происходит". Если это контейнер, то я не понимаю зачем нужно было так мудрить. Почему нельзя просто было все Qt контейнеры вывести (наследованием) из абстрактной модели???
Можно хранить данные в самой модели, как это делает QStringListModel (у нее внутри есть свой объект QStringList для хранения строк) или модель может брать данные из внешних источников (как SQL-модели). Можно написать свою модель, которая будет получать данные по сети.
Для view модель является источником данных, а как это будет организовано в модели, дело самой модели.