ive actually had a dabble in erosion algorithms in the past, never got to anything that could be called a good result (perhaps decent at a stretch) probably because i did it without doing any research :p what i did was literally simulate rain (well, a rather crude approximation) with sediment carry - i find that when you model at high intensity like this that the higher order features such as pools/lakes and flood plain meanders just 'appear' without any specific programming. it was horribly slow though as you can imagine.
just my 2p