Well, memoization still allows for the natural, top-down recursive formulation, whereas dynamic programming is bottom-up.
Note: in some cases, a solution using memoization can be more efficient. See page 15 here: http://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf