Why does spectral leakage arise in an FFT?
An FFT has finite length, and thus constitutes a default rectangular window on a data stream.  A window in the time domain results in a convolution in the frequency domain with the transform of the window.  Note that the transform of a rectangular window is a Sinc function (sin(x)/x), which has infinite width.  It's not just 2 bins in width.  Thus the ripples of the Sinc function will show up as "leakage" far from any spectral peak that is not perfectly periodic in the FFT's length.

The picture below shows part of the frequency response of the sinc function.  When the tone is centered on one of the bins all of the other points are lined up with the nulls in the frequency response.  If it isn't centered on a bin then it's like shifting the whole frequency response, which causes the other bins to fall on non-null portions of the frequency respoonse.



Another way to look at it is that an FFT is just a filter bank, where each filter stop-band floor has lots of ripples, and is certainly not infinite in attenuation more than 1 bin away from center frequency.  Some windows (von Hann,etc.) other than rectangular have lower stop bands, which is one reason for their popular use.