The only real difference is what "basis" you choose to work in, roughly speaking.
The diffusion equation is du/dt = L(u), where L(u) = u_xx is a linear operator. If this were a finite-dimensional system, then you would probably want to find a basis in which the matrix of L were diagonal; then the solution is easy, because your system is now decoupled, and you can solve for each coordinate independently. If you want, you can then change back to standard coordinates.
This system isn't finite-dimensional, but a lot of the same intuition applies: there is a "basis" in which the operator L is effectively diagonal, namely the Fourier basis. (This is because differentiation can be understood as a convolution in a somewhat generalized sense, and all convolution operators are diagaonalized by the Fourier transform.) This means the Fourier transform decouples your system, making it easy to solve. If Fu is the Fourier transform of u in the spatial variable, then the solution is given by (Fu)(t) = Tt((Fu)(0)), where Tt is a diagonal operator that depends on t.
On the other hand, any operator that is diagonal in Fourier space is represented by a convolution in ordinary space. If you want to look at everything in ordinary space, then you thus obtain a representation for your solution as a convolution with a kernel that depends on t. In other words, you have u(t) = gt*u(0), for some gt.
Here is some general discussion of the Fourier transform; my reply there goes into convolutions and why they should all be diagonal in an appropriate basis.
Edit: I think a pretty good reference for this stuff is Fourier Analysis: An Introduction by Stein & Shakarchi (Princeton Lectures in Analaysis I). Diffusion equations (a. k. a. heat equations) are a sort of running example throughout much of the book; I think you would understand the connection between your two methods of solution pretty thoroughly if you worked your way through this book.