curve fitting works by trying to find the parameters of your model, lets say you are trying to fit a gaussian to a single peak curve:
then your model has three parameters a for amplitude, mu for average and sigma for standard deviation
least squares fitting works by iteratively guessing those parameters then improving the guess each iteration according to how well it fits the data, that is how large the margin from the data is in each point of the curve.
start point is the initial guess, it can help by narrowing down to something close to the data.
So now lets go back to the gaussian model,
fit(x, y, 'gauss1', 'StartPoint', [1, 2, 0.5]);
Now, i'm telling matlab to start from an amplitude of 1, average 2 and standard deviation 0.5
If you don't use start point matlab will use something random