DP helps when a problem has overlapping subproblems and the answer can be built from smaller answers. Memoization keeps the natural recursion and adds a cache, so it is easy to write from a brute force solution. Tabulation fills a table bottom-up with loops, which avoids recursion depth limits and often allows saving space. Start with memoization to get the recurrence right, and switch to tabulation when n is large.