In MVVM, the viewmodel communicates to the views by exposing observable values that the views subscribe to. As your UI grows and becomes more complex, the number of these observables grows and the amount of UI presentation logic increases.
In programming, if I have a class or a function that is becoming too large with too many responsibilities, I divide it into smaller classes or functions that are references by the parent class. I would assume the same concept would apply in MVVM if the UI is getting large with many views.
However, it’s not clear how a child viewmodel would communicate to a parent, or how viewmodels would communicate to each other. Viewmodels are supposed to expose observable data — would they be observing each other? This seems like a recipe for notification loops.