Curves are used at many places:
A curve basically is a shape that defines how an input value between 0 to 100% is mapped to an output value between 0% and 100%.
The most simple curve is a linear curve, a straight line from 0% to 100% where the output simply equals the input.
But it's very interesting, for all kinds of effects, to change this curve.
There are several curve types, but the main one is the Bezier curve.
The Bezier curve can be tweaked by 3 parameters:
 Curving = How much convex or concave the curve must be.
 Asymmetry = The asymmetry of the curve. Note that the closer the Curving parameter is to 100% the lesser this has effect.
 Edging = The lower the value the smoother the curve, the higher this value the more edgy the curve.
There also is a Mirror option which will make the curve mirrored at 50%.
When drawing envelopes or wave shapes:
 Leftclickdrag the curve between 2 envelope points to change its first parameter.
Bezier curves: If the Bezier curve matches an exponential curve then dragging it continues to change like an exponential curve, which is a combi of the 3 parameters.
Else the first parameter (Curving) is dragged, like with other curve types.
 Alt + leftclickdrag a curve to change its 2nd parameter.
 Shift + Alt + leftclickdrag a curve to change its 3rd parameter.
 Doubleclick a curve to open the curve editor (cfr image above) for detailed curve parameter tweaking, or to set the curve to a Sine Q1 or Q4 to assemble a sine waveform.
