
Recursion
Limiting Condition
Recursion must have an endpoint to prevent infinite loops. 
Programming Errors
Misusing recursion can cause stack overflow, crashing the program. 
Efficiency Matters
Recursion can be less efficient and slower than iteration in some cases. 