The convolution of two functions can be thought of in the following manner:
Take one of the functions, f(x). Consider it as a sum of an infinite number of Dirac delta functions δ(x-c), each with a different value of c (allowing each one to represent a different x value), and each with the appropriate infinitesimal coefficient to provide the correct value for f(x). Now, replace each of those Dirac delta functions δ(x-c) with the other function g(x-c), leaving the coefficients the same. The resulting function is the result of the convolution.
Though this operation is commutative, it is typically used asymmetrically. One of the functions would be some pattern for diffusion (a Gaussian, say, or a single central triangle or rectangle). The other would be the pattern which then undergoes that diffusion.
The Fourier transform property listed below is very useful, as one may wish to do many convolutions in a row in a small-step iterated diffusion problem or other such physics or chemistry endeavor. While convoluting in normal space is difficult, convoluting in reciprocal space (i.e. under Fourier transformation) is very easy, because it comes out as multiplication.
Also note that the convolution includes the translation transformation as a special case, in which one of the functions is itself a Dirac delta offset from 0.