Summary
One of the biggest challenges in software development is building projects that can survive the test of time. Of course, we can't control every aspect: there are many external factors outside our control, like the advent of new and more powerful technologies. However, by choosing the right architecture, we can protect our application from aging too fast. The MVVM pattern is a great example of how you can define the architecture of your Windows applications in a way that makes them easier to maintain, evolve, and test over time. By decoupling the UI from the business logic and the data layer, it becomes easier to create modular applications, in which you can replace one component or another when a new requirement arrives, rather than having to rewrite the application from scratch.
At the same time, however, you must remember that architectural patterns are best considered as guidance to help you build better applications, not a set of rules that you have to follow blindly...