One thing about MVVM that i dont seem to understand is why people seem to make a VM for each model object. I have been binding to the actual objects themselves, and having one central VM (using the VM as a proxy to the model).

I have actually had no problems binding directly to the objects (through the vm)

QUESTION ONE)
why does everyone make a VM for each model object?

of course, i DO make each object linked from the VM (that is not in an ObservableCollection) wrapped with a dependancy property; i make my VM inherit System.Windows.DependencyObject

QUESTION TWO)
What is a good site that explains the finer details of this architecture better. I find without proper education, that im tending to make my own version of the MVVM model, which is fine for single projects, but if i ever need to make maintainable code, i should stick to industry recognised practices.