You are right, the two interpolations are different:
sp1 = SplineFit[data, Cubic];
sp3 = Interpolation[data, Method -> "Spline", InterpolationOrder -> 3];
plot2 = ParametricPlot[sp1[t], {t, 0, 4}];
plot3 = ParametricPlot[{t, sp3[t]}, {t, -2, 2}, PlotStyle -> Red];
Show[plot2, plot3]
The documentation on SplineFit states that the second derivative of the spline at the endpoints is set to 0. Interpolation does not do that, apparently. Sorry I can't help you more on this.