The simplest approach is to use $N+1$ points to construct a curve of degree $N$. You have to assign a parameter ($t$) value to each point. So, to construct a cubic curve through four given points $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, $\mathbf{P}_3$, you need four parameter values, $t_0, t_1, t_2, t_3$. Then, as @fang said in his answer, you can construct a set of four linear equations and solve for the four control points of the curve. Two of the equations are trivial, so actually you only have to solve two equations.
The simplest approach is to just set
$$t_0 = 0 \quad , \quad
t_1 = \tfrac13 \quad , \quad
t_2 = \tfrac23 \quad , \quad
t_3 = 1$$
Then the matrix in the system of linear equations is fixed, and you can just invert it once, symbolically. You can get explicit formulae for the control points, as given in this question. But this only works if the given points $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, $\mathbf{P}_3$ are spaced fairly evenly.
To deal with points whose spacing is highly uneven, the usual approach is to use chord-lengths to calculate parameter values. So, you set
$$c_0 = d(\mathbf{P}_0, \mathbf{P}_1) \quad ; \quad
c_1 = d(\mathbf{P}_1, \mathbf{P}_2) \quad ; \quad
c_2 = d(\mathbf{P}_2, \mathbf{P}_3)$$
Then put $c = c_0+c_1+c_2$, and
$$t_0 = 0 \quad , \quad
t_1 = \frac{c_0}{c} \quad , \quad
t_2 = \frac{c_0+c_1}{c} \quad , \quad
t_3 = 1$$
Then, again, provided $t_0 < t_1 < t_2 < t_3$, you can set up a system of linear equations, and solve.
If you're willing to do quite a bit more work, you can actually construct a cubic curve passing through 6 points. Though, in this case, you can't specify the parameter values, of course. For details, see my answer to this question.
The equation you show is a uniform cubic B-spline curve with single segment where the curve itself will not pass thru any of the 4 control points. This is probably the reason you only see a small curve on the screen. (BTW, I did not check your equation either)
Answers to your questions:
1) Bezier curve and B-spline curves are both defined by a set of control points, which generally do not lie on the curve itself (except the first and last control points for Bezier curve and for clamped B-spline curves). If you would like your curve (Bezier or B-spline curve) to pass thru a given set of points exactly, this is the so-called spline interpolation problem, which you can find many articles by searching against the term "spline interpolation". Please note that the interpolated points are sometimes also called "control points" in some community. Just don't get confused when reading thru all the articles.
2) To draw a spline, the standard way is to compute (or to sample) points on the spline starting from t_start to t_end with proper increment delta_t, then connect the points one by one like a polyline. Bezier curve's range is always 0 to 1. For B-spline curves and Hermite splines, the range could be of any values but you should know what these values are.
Converting Hermite splines or B-spline curves into Bezier curves is a more advanced topic and can be left to later stage in your learning curve.
Best Answer
My understanding is that a B-spline can have any number of control points. In the special case where the B-spline has exactly 4 control points, it is the same as a cubic Bezier curve with those same 4 control points.
So yes, De Casteljau's algorithm on the given control points works great:
So the given spline