Simple answer: it's always either zero or two.
In general, any polynomial function of degree #n# has at most #n-1# local extrema, and polynomials of even degree always have at least one. In this way, it is possible for a cubic function to have either two or zero.
To get a little more complicated:
If a polynomial is of odd degree (i.e. #n# is odd), it will always have an even amount of local extrema with a minimum of 0 and a maximum of #n-1#.
If a polynomial is of even degree, it will always have an odd amount of local extrema with a minimum of 1 and a maximum of #n-1#.
A little proof: for #n = 2#, i.e. a quadratic, there must always be one extremum. If it had two, then the graph of the (positive) function would curve twice, making it a cubic function (at a minimum). If it had zero, the function would not curve at all, making it not a quadratic. If it had three or more, it would be a quartic function (at a minimum).
For #n = 3#, i.e. a cubic, there must always be zero or two. Zero is possible since the graph of #y=x^3# has no extrema, and the graph of (say) #y=x^3-x# has two (you can check that for yourself). If the graph had exactly one extremum, it would be a quadratic function since it would curve exactly once. If it had three or any higher odd number, again, it would have to curve (say) down, then up, then down, finishing where it started, and it would not be a cubic function. If it had four or more, it would curve too many times for it to be a cubic function.