The problem with a notebook (that you don't have with a REPL) is the execution order is sort of arbitrary and changes don't propagate well.
A notebook is great if you don't change anything, but at that point it's basically a REPL with inline graphics, which is usually what I really want...