If I've understood your example correctly this is not a genuine example of a recursive algorithm. Since the function only calls itself at most once I don't think there can be much efficiency impact. You are basically right that a different function could be used, or the same function called twice. This might have been done to (slightly) reduce the length of the code by avoiding repetition.
In my personal opinion 'tricks' like that are counter-productive as they reduce readability.
If you are interested in the real gains (and drawbacks of recursion) you should look at some code where recursion is really used to solve the same problem for reduced cases. A good example is binary search, which can be done iteratively or recursively. There are many other sorting and searching algorithms that you can probably find implementations of.