What is the difference between a kernel and a function? I have been looking around for this question, but all results I found only describe the definition and not the answer I seek.
Is "kernel" basically a synonym of "function"? When should be the time we should use the word "kernel" instead of "function"?

They aren't synonymous. A kernel is a property of a function. Most generically, if you have a function $f: X \to Y$, it is defined as the equivalence relation on X which identifies $x_1$ and $x_2$ if and only if $f(x_1) = f(x_2)$. 
There are specialisations of this depending on the category $f$ lives in: for example, if $f$ is a group homomorphism, the homogeneity of the group structure means that we can represent this equivalence relation as the normal subgroup $\{ x \in X : f(x) = e \}$. Similarly for $f$ a linear map of vector spaces, or modules, or rings. 
