backgrounds? layers?

I see these icons all the time and I'm almost clueless how to do it using PS7: Erase the background from a photo (of say, a celeb) and paste it to a grungy or whatever texture/background.

I've tried erasing the background but the edges of the celeb don't look so clean after. Eh.

Examples of my desired output:

icons by heygingersnap

I think layer masks are the way to go? Am I right?
If so can anyone point me to an easy to follow tutorial, or please explain to me how to use those darn layer masks in the simplest terms? Or at least have a step-by-step tut.

Please? Thank you :)