Can also be handy if you need the function to work differently based on different conditions.I.E. (If A (defun func Do something one way .....)(defun func Do Something a different way...)).
Usually it is easier to put the condition in the function itself, but if the condition is really complex and/or takes a lot of time to evaluate, then it is better to do it once and just define the appropriate function.