A recursive algorithm solves a problem by breaking it down into smaller subproblems of the same type, while an iterative algorithm uses loops and iterations to achieve the result. Recursion often leads to more concise code, but it may introduce more overhead.