Photoshop, Aperture, iPhoto, Lightroom, and all the other big name photo editors have settings for highlights and shadows, and I'll explain what those are for anyone wondering.
These settings are basically ways to correct the exposure in either the brightest or dimmest parts of the photo. If the bright areas are too bright, or the dark areas are too dark, your highlight and shadow levels can be adjusted to fix that so that detail can be visible everywhere in the photo.
By dragging the highlights slider to the right, you're darkening the highlight (brightest) areas in an image. You're adjusting the brightness of the bright areas without affecting midtones and shadows, and this will help bring out the extra detail in the image.
By dragging the shadows slider to the right, you're lightening the pixels in the darkest area of an image, which can bring out detail that would otherwise be too dark to see.
Aperture's user manual does a good job at showing how adjusting your shadows can help.
If you're working with files in RAW format you'll be able to bring out a lot more detail form your shadows and highlights than you'll get from JPEG files.
Some software (I speak for Aperture) allows you to change advanced settings when editing highlights and shadows, such as the saturation applied in these adjustments (this is called Color Correction in Aperture). Increasing the saturation for highlight and shadow adjustments can correct the colors so they don't look washed out.
Aperture also contains settings for high tonal width and low tonal width - this is the setting which controls how much of a photo is a shadow or highlight that can be adjusted. When you increase the tonal width, the adjustment in highlight or shadow will affect more of the bright/dim spots (it'll have a greater sensitivity).
Lastly, adjusting the radius used for highlight and shadow adjustments tells the software the area that it should check around each pixel before determining how bright or dark a pixel should be. This can have a large effect on your adjustments, because the larger your radius the more pixels your software will take into account before making the adjustment.