Документация MFC охватывает это довольно хорошо. Документация для CObject описывает, что он делает (поддержка сериализации, информация о классе времени выполнения и т. Д.).
Иерархическая диаграмма является хорошим обзором и показывает, какие классы не являются производными от CObject.
Можно сделать вывод, что классы, которые не являются производными от CObject, - это те, которым не нужны предоставляемые им сервисы. Причины разные: например, класс типа CFileTime - это простой тип данных.