What are the advantages of using fft2 over fft
They perform two different mathematical operations


FFT executes a 1-dimensional Discrete Fourier Transform one each column of the input matrix (or the first non-singleton dimension)
FFT2 executes a full 2-dimensional Discrete Fourier Transfrom on the entire matrix.


Which one you want to use depends on your specific application. One is not inherently "better" than the other, they are just two different things. In particular 

$$\mathcal{F}_{2D}(X) = \mathcal{F}(\mathcal{F}(X)')'$$