Solution
Breaking a large problem into smaller, more manageable parts makes it easier to find a solution step by step. This is the idea behind divide and conquer: each smaller part is solved independently, and then the solutions are combined to solve the original problem.
The same idea appears in dynamic programming (subproblems whose results are stored) and in modular programming. Smaller components are easier to understand, to implement, and to check, and they can often be reused.