The MVC design pattern separates application logic into Model, View, and Controller, promoting code reusability and easier support/maintenance. It is expressive as it clearly separates responsibilities, while "not easy to use" is generally a disadvantage or misconception rather than an advantage.