Function, Relation, Operation and Cartesian Product 
*

*An operation is a kind of function.

*A function is a kind of relation.

*A relation is a subset of a Cartesian product.

*A Cartesian product is an operation.

*Back to 1.
It seems to me that there's something wrong. Can we explain $X$ in terms of $Y$, while $Y$ needs $X$ in order to be explained?
 A: The Cartesian product between two sets $A,B$, noted $A \times B$ is defined as the set $$A \times B = \left \{ (x,y) : x \in A \wedge y \in B \right \}$$
A relation $R$ is a subset of a cartesian product: $$R \subseteq A \times B$$
A function $f$ is a triplet $f=(F,A,B)$, where $A,B$ are sets ($A$ is called the domain of $f$, $B$ the codomain) and $F$ is a relation $F \subseteq A \times B$ with the additional properties:
$$(x,y)\in F \wedge (x,z) \in F \Rightarrow y=z$$
$$\forall x \in A \exists y \in B \ \text{such that} \ (x,y)\in F$$
The first is the usual property of functions and the second means, in layman's terms, that "$f$ is defined for every element of $A$". 
We note this by saying that $f: A \to B$.
Finally, given a non-empty set $A$, a binary operation $\ast$ on $A$ is a function $$\ast: A \times A \to A$$
By convention, the image $\ast(x,y)$ is usually denoted by $x \ast y$
A: In a certain sense, that's all right. But as Rota said, be careful not to confuse the medicine with the food!
Aside from relation vs. function (and Cartrsian Product is kind of the black sheep here), most of the differences in terminology are to provide context clues. 
Yes, operations are a kind of function, but typically they're meant to portray a very fundamental kind of function. For example, there are uncountable many functions of two variables from $\Bbb R \times \Bbb R \to \Bbb R$, but we typically reserve operation to denote those special functions like addition and multiplication. Generally, operations are those special functions with which an object is "naturally" equipped (eg, the operations of groups and rings).
Yes, one can think of the Cartesian product as a kind of function (or operation, if you prefer) that produces a set from two input sets, or you can just think of it as a bunch of ordered pairs, and any subset of these ordered pairs as relations (and certain subsets of those relations as functions). 
My take-away is that a "function" is ubiquitously useful, and anything that produced a unique output from a given input, is a function. You can be careful to avoid all use of the word (as in the example of functions as certain kinds of subsets of Cartesian products), but you'll just turn around and say "Hey, that felt like I was working with functions of a different sort, all along!"
