Difficulty understanding benefit of Separation of Concerns
One of the motivations for separation of concerns is so a change in one place does not affect the other. I am going to make an argument with my limited understanding. Here is a scenario where I fail to see this benefit. Suppose there is a method with a long switch statement. You want to change what happens inside a case clause. All you have to do is open the class and modify the logic inside the case clause. No other case clauses are affected. If you want to add an additional case, you simply append to the switch statement. I don't see what else is affected. Now let's talk about separating the application into layers. People say that one benefit of layered architecture is that changing some database code will not affect any other class. However, the place where the class housing the database code is called, is the place where the code would've been, had there not been some abstraction (a method on a specialized class for database operations). You would have had almost the same lines of code, just in a different place. You would have made a very similar change to that code in that scenario, and no code around it would be affected.

One of the motivations for separation of concerns is so a change in one place does not affect the other. I am going to make an argument with my limited understanding. Here is a scenario where I fail to see this benefit.
Suppose there is a method with a long switch statement. You want to change what happens inside a case clause. All you have to do is open the class and modify the logic inside the case clause. No other case clauses are affected. If you want to add an additional case, you simply append to the switch statement. I don't see what else is affected.
Now let's talk about separating the application into layers. People say that one benefit of layered architecture is that changing some database code will not affect any other class. However, the place where the class housing the database code is called, is the place where the code would've been, had there not been some abstraction (a method on a specialized class for database operations). You would have had almost the same lines of code, just in a different place. You would have made a very similar change to that code in that scenario, and no code around it would be affected.