So this doesn't apply to other forms of recursion?
Many solutions implemented using recursion can be very hard to translate into an iterative counterpart (for example, double recursion). A recursive solution is often less efficient than an iterative counterpart because of the additional stack handling required, but it all depends on the quality of the iterative solution.
Don't optimize prematurely and never without profiling data. A recursive solution is often much shorter, easier to read, implement and verify than an iterative counterpart, so start with a recusive solution if that fits for your problem.