O.K. the curve tool is not included in psElements so for those of you that use Elements; but want to add the functionality of a curves dialog you can down load this plug in for
FREE!!!
http://free.pages.at/easyfilter/smartcurve.html
(if that link does not, delete the "/smartcurve.html" and try again and select "smart curve" and the English version if you dont read German)
PhotoShop's curve tool is similar in function to the levels dialog.
it adjusts the light/dark points and the image brightness.
BUT (a big but) it is also more accurate in how it applies those light/dark/contrast adjustments.
It can also control how fast the shift from light to dark tones occurs(the image contrast)
In Levels if you move the any of the sliders, the adjustment is applied to ALL of the tones in the image.
In the Curves Dialog you can apply the adjustment to relatively specific tone areas.
let's look at the curve tool dialog.

you see the image represented as a graph.
the horizontal line controls the image input.
and the vertical line controls the image output.
the bottom left is the image dark tones and the upper right is the image light tones
when you open the dialog your image will be represented by a straight line from lower left to upper right.
this represents the how fast the image changes from light to dark. In this case it is one to one.
there is also a representation of the image's histogram, this is to help you set the white and black points.
the black and white points work exactly the same as in levels.
the gamma (gray pointer in levels) is on the line in the middle of the graph.
you can click on the line and drag it up or down(or left or right) to change the brightness of the image as a whole.

the other controls in the dialog are fairly self explanitory except the buttons that select the graph lines as 10% or 25 % increments.
If you have a group of images that you want to apply the same curve to, you can make the adustments to one and save it then apply it in a click or two
Here is a basic sort of group image that is nice as is but can be adjusted a bit to bring up the tones.
for a cloudy day on the beach, it is sort of contrasty. (sort of what you might get if you camera is set for a contrast boost or you use a pocket camera.)
[Note: this is a stock image that came with psCS3]

The dialog below is what you see on opening the curves tool by selecting any of image> adjustments> curves; or typing control+m or adding a curves adjustment layer from the layers pallet.
The image below is sort of like what you would get with a levels adjustment, but the light and dark areas are less changed.
I dragged the white and black points to the histogram then clicked the middle of the graph and pulled it left to lighten the image

When you click on the line, it installs a point for each click. each point is adjustable. Just click and drag.
what this means is, you can anchor the line at a tone you want to keep; or isolate a point you want to move without effecting the rest of the tones in the image.(very much)
For instance, say you are happy with the whites or lighter tones in an image. you can click a point at or above the center of the graph.
Then click another point along the lower third of the graph and drag it up to lighten just the shadow areas.
(the line above the first anchor point will drift down a bit in response.(it's a balance thing)
the line now looks like a shallow inverted "s"
you have now flattened the contrast curve to bring up details in the shadows. And you kept the whites from losing detail.
(I also locked in a shadow point on this)

if you went the other way, dragging the lighter point up it would steepen the contrast curve.
(and create a shallow normal "s")

These adjustments also affect the color intensity(saturation) of the image
To control this, you can use the "edit> fade" dialog and switch the merge mode to luminosity.
(or use the adjustment layer for curves in the layers pallete)
Below is an example of how the curves dialog can help with controlling a color cast though application on a per-channel basis.
(although in this case I used the gray point eyedropper on the clouds over the city, the idea is the same, optimize the curve for each color channel)
I also applied a contrast boosting "s" curve to the RGB composite(the main curve)

Below I used an "s" curve to refine the edges in a custom brush.

(I will go through some pages and put some links for further study.)
a long PDF at Luminous Landscape:
http://www.luminous-landscape.com/essays/Curves.shtml
from wikipedia:
http://en.wikipedia.org/wiki/Curve_%28tonality%29
from the Adobe Mothership:
http://www.adobe.com/designcenter/photoshop/articles/phscs2at_learncurves.html
and one that is heavier on text:
http://www.naturephotographers.net/mh0702-1.html
...mischance nothing, thus idle woe.
all beer has food value...
all food does not have beer value.