It really comes down to the separation of problems, the MVVM design pattern, and, most importantly, (for me) unit testability (and therefore code support).
Is it easier or harder to unit test the UserControls collection as an ItemSource? I would say that the unit test found in the views is much more complicated than unit test.
As you probably know (and I just mention that this is especially specific), the main reason for MVVM has grown because of the need to increase the test and maintainability that MVC offered. In WPF, MVVM provides robust unit testing of logical layers independent of presentation layers.
If your logical operations are embedded in presentation layers, it will be harder to unit test and therefore (checked again and again) more difficult to maintain. I remember from college, and this manifests itself in my professional career, the maintenance of poorly archived solutions is very expensive, in accordance with the general project.
So, the short answer is: Separating presentation and logic (without doing things like having ItemsSource of UserControls) saves your company money throughout the entire project. In the case of WPF, in particular, the separation of presentation and logic exists through the MVVM pattern.
source share