Answer
Tail recursion is desirable because since at the at the time of recursive call no operation was pending there is no need to store the current state of function in stack memory, hence the tail recursion saves resources.
Work Step by Step
Same as above.