I don’t have much experience working with curves but they were pretty easy to grasp once I understood that the curve is basically a function and the handles are the derivative shown in a graphic manner.
Now before all the math talk chases you away that actually mean there are a few hard and fast rules to help get the shape you want with less fiddling:
A handle needs to be completely flat both at the top of a peak and the bottom of a valley (minimum and maximum points). The same is true for when the curve goes from concave to convex or vice versa (inflexion point).
Whenever the “slope” of the curve changes that’s when you need a new vertex. The bigger the difference in the slope the more the handle would need to be rotated.
Hope this was helpful to someone.