Watching PBS with my wife, decided to do a screenshot sequence showing what we’ve been discussing. I’m using my hack software, but the histogram and curve should work similarly in any other software.
First screenshot shows the image after initially opening the raw file. This is the raw data, linear gamma, with my calibrated camera profile assigned:
Firstoff, notice how dark is the image; that’s the linear range of the camera sensor. The histogram shows the linear data, bunched up at the bottom. Now, most software will automatically convert the image to a working profile; mine doesn’t so the first tool applied is a colorspace conversion:
Note the image tone doesn’t change, but the histogram does. This is because the colorspace conversion uses a working profile with a gamma of 1.8, which spreads the data out a bit. Oh, need to mention the displayed image is being converted to the calibrated display profile which has a gamma of about 2.2. Since the gamma conversions are being done through the profile conversions, the displayed data looks the same as before the conversion. @Elle will need to explain that; I’m still not there yet… 
So, what I typically do first is to “contrast-stretch” the image data to cover the full data range. This is simply “spreading” the histogram out to the data limits. I have a tool to do that, but I’m going to use a curve instead to show how that works:
If you look back at the histogram in the previous screenshot, note the lower bound of the data is about 5, and the upper bound is about 110, in the range 0-255. Come back to this screenshot, and note the “curve”, it’s a straight line between 5,0 and 110,255. That curve spreads the image data out to the bounds, rendering it as we’d prefer to see it. Some call it “setting the black and white point”.
Now, depending on your monitor, you should notice the image has a distinct blue cast. If you can’t see it in the image, it’s definitely notable in the histogram; the blue plot in the histogram is definitely shifted to the right of the red and green plots, on the upper part of the histogram. We can change that with a blue-channel curve, like this:
Note that the blue channel is selected, so the curve only works on the blue component of each pixel. This is also a “linear” curve, but this time the control point is dragged down the right hand side. That “pushes” the blue channel to the left; if we were to drag it left across the top, it would “pull” the channel to the right. This is essential white balance.
Now, the image looks a little light to me, so I’d normally put in another RGB curve and pull it down a bit:
Note the histogram bunches toward the left a bit. But the desired effect is to darken the image; at this point, I’m looking less at the histogram and more at the image itself.
Lastly, I’ll illustrate what @McCap described about contrast:
I just added a control point at the upper end of the curve, and drug it above the “neutral line”. Now, the middle part of the curve has a steeper slope, and that increases contrast. Now, I’ll drag the left point up and the right point down, flattening the curve:
The middle of the curve is now flatter, and the corresponding image has less contrast.
Hope this helps…