When executing a project, we are very good at duplicating a process/code/design at several places. For example if you consider design, with so many frameworks in place in the industry that adress an area of concern, one might designing something that might already be there which has been designed and coded effectively and tested. The DRY principle is to make sure that you are not repeating a process/code/design/architecture in your project. If the separation of conerns has been done effectively, a change in one concern should not affect any other concern and modifications are not needed all over. If the DRY principle is not followed strictly you would run into maintenance issues making changes wherever there is repetition. More on DRY principle here.