Recursion enhances logical clarity by expressing complex problems in simpler, self-referential terms. It often reduces code size because the same logic is applied repeatedly without loops. However, recursion typically INCREASES execution time due to function call overhead and can make debugging harder due to stack complexity. Option A correctly captures the primary benefits.