Will, I guess I wasn't clear, I didn't intend to compare mapcar with while -- I said mapcar is pretty much like a foreach in operation in that it cycles over the whole list with no bail-out condition.
I was refering to recursion in general as being like a fancy while. The only relation to mapcar being that Se7en had showed how mapcar itself could be modelled as a recursion over a list.
A recursive function might depend on an if or a cond for a termination condition, and might often pass a list as an argument, but the only real defining feature is that the function calls itself, and keeps doing so until some terminating condition is met. In most cases you can rewrite a recursive function as an iterative one using while.