These are the steps I usually take to tweak a photo for icon or LJ spam use. I use Adobe Photoshop 7.
The quality of the picture you start with plays a major role in what you're going to end up with. Try to find one that's clear, and not too dark (unless you're going for, say, a particular grunge style).
STEP ONE: SHARPENING
Sometimes simply resizing the picture improves the quality, so let's do that. Ooh, let's sharpen it too. (Filter > Sharpen > Sharpen)
TIP!! It helps if you make every change in a new layer. For example, my bottom layer is the resized photo, no other changes made. I duplicate Layer 1 (Layer > Duplicate Layer) then sharpen my picture on Layer 2. That way if you make a mistake, you can simply delete the top layer and not have to start all over again.
Sharpening can make your picture grainy. So make the sharpening less intense! Before you click anything else: Edit > Fade Sharpen. I chose to lower the sharpness down to 40% for this one. Now of course, if you're making an icon your image should be at most 100x100. But if you're making a layout or banner or something, it can be bigger. Let's assume I'm making an icon.
STEP TWO: IMPROVING THE COLORS
There are two ways of doing this.
STEP TWO-A: LEVELS AND CONTRAST
This is the simplest way to fix the shades and colors in a photo. You can do the following steps in any order.
Levels. This just means the dark, light, and midtone shades in your picture. Duplicate Layer 2 (Layer > Duplicate Layer). Click Image > Adjustments > Levels and play around with the settings. The leftmost arrow adjusts the dark tones; the middle the midtones; the rightmost the light tones. For this photo I used these input levels: 4, 0.96, 247. Notice that this enriches the colors in your picture.
Brightness and Contrast. Duplicate Layer 3 (Layer > Duplicate Layer). Click Image > Adjustments > Brightnes/Contrast and play around with the settings. For this photo brightness was set at -2, contrast at +7.
An even easier way to fix the Levels and the Contrast at the same time is to go Image > Adjustments > Auto Levels. Sometimes the picture turns out funny, though, either too bright or too contrasty. And there you go. Photo tweaked.
Sometimes adjusting Levels and Contrast isn't enough, though, especially when you've got a low quality picture. So let's go to...
STEP TWO-B: LOTS O' LAYERS
This may be slightly more difficult, but it's the method I use most often because it balances out the whole picture, not just select areas that are hit by the different tones.
Screen. Duplicate Layer 2 (Layer > Duplicate Layer). Set the blending mode to screen by clicking on the layer, going to the drop-down menu that's on top (it'll read Normal), and selecting Screen.
(This is from a previous tutorial.)
Play around with the opacity (again). You have the option to desaturate this layer to give a washed out sort of look (Image > Adjustments > Desaturate or Image > Adjustments > Hue/Saturation). For this image I set saturation to -65.
Soft Light. Duplicate Layer 2 (Layer > Duplicate Layer). Set the blending mode to Soft Light. Play with the opacity.
OPTIONAL!! Selective Color. The icon so far looks kind of too washed out; you wanna bring more black in. So go to Layers > New Adjustment Layer > Selective Color. Click OK. Then choose Blacks from the drop-down menu and play with the settings for Black. I used 15% here.
And there you go! This achieves a more stylized kind of photo. You can now add more brushes and layers to complete your icon.
You can also do steps two-a and two-b one after the other. This achieves yet another kind of tweaked photo, usually brighter and more contrasty.
Tweak a photo in two to three easy steps:
1. sharpen it
2. adjust the layers and the contrast
2. duplicate the layer and set it to screen
3. duplicate the layer and set it to multiply. add a selective color layer if desired.
A word about saving: save in .PNG as often as possible, especially if you're dealing with icons. This ups the file size, but .PNGs retain the color and texture a lot better than do .JPGs.
layers and selective color:
Well. I hope that was coherent enough. The same steps can be applied to a photo of any size. I use both methods for tweaking pictures taken with a digital camera (the resolution is high, so I usually come up with good results.) Comment if you have any questions. And don't forget to play around with your settings and opacities!
Eula's Beginner's Tutorial (includes rotating text and making use of color boxes)
Campbell's Ginormous Guide to Icons (which, incidentally, also uses Natalie Portman as the model. Haha.)