The main difference between interpolation and regression, is the definition of the problem they solve.
Given $n$ data points, when you interpolate, you look for a function that is of some predefined form that has the values in that points exactly as specified. That means given pairs $(x_i, y_i)$ you look for $F$ of some predefined form that satisfies $F(x_i) = y_i$. I think most commonly $F$ is chosen to be polynomial, spline (low degree polynomials on intervals between given points).
When you do regression, you look for a function that minimizes some cost, usually sum of squares of errors. You don't require the function to have the exact values at given points, you just want a good aproximation. In general, your found function $F$ might not satisfy $F(x_i) = y_i$ for any data point, but the cost function, i.e $\sum_{i=1}^n (F(x_i) - y_i)^2$ will be the smallest possible of all the functions of given form.
A good example for why you might want to only aproximate instead of interpolate are prices on stock market. You can take prices in some $k$ recent units of time, and try to interpolate them to get some prediction of the price in the next unit of time. This is rather a bad idea, because there is no reason to think that the relations between the prices can be exactly expressed by a polynomial. But linear regression might do the trick, since the prices might have some "slope" and a linear function might be a good aproximation, at least locally (hint: it's not that easy, but regression is definately a better idea than interpolation in this case).