>>380
深く考えずに、単なる関数呼び出しだと理解すれば良い。

(defun fact (n)
(if (= n 1)
1
(* n (fact (- n 1)))))

単に呼んでる関数が自分自身だったっていうだけ。
イメージが掴みにくいなら、(trace fact)してから実行してみて。