Explanation of undo 

Just to elaborate a little more on my undo in this edit.

It is true that at some level you can always replace a function by a relation giving the same information.  For a unary function symbol f, you can substitute a relation symbol R, and interpret it via R(x,y) if and only if f(x)=y.

However, there are significant differences between languages that contain function symbols and ones that have only relation symbols.  Function symbols have existential import, in the sense that if you have a structure for a language with a function symbol f, and a closed term t in the language, then the structure must contain an interpretation for f(t).  Relation symbols don't give you that; a structure for a language containing our relation symbol R above is not guaranteed to have an object y such that the structure satisfies R(t,y).

This is important for lots of tools used to analyze structures.  For example, the Ehrenfeucht–Fraïssé game is usually defined for languages that have only relation and constant symbols.  If you allow non-nullary function symbols, the analysis gets more complicated.