In a pure mathematical sense, recursion is any process that repeats itself, that is, any formula that appears more than once in the same schema. Usually, however, the occurrences of the smaller formula are organized by putting them in a one-to-one correspondence
with an ordinal
defined from a schema
that includes a copy of itself (i.e. the way computer scientists think of recursion) is a special case
of recursion, as are things like iteration
Note that simple iteration is a special case of recursion
even in the CS sense. Some programming languages make things easier (?) on you by providing structures (e.g. for, while) to make simple iteration easier; however, these structures are not strictly necessary. Other languages (e.g. Lisp) do not have structures like that.