This is my opinion.
Rock 'n' Roll- A general classification for all rock subgenres.
Rock- 3 Doors Down, Matchbox 20, stuff like that.
Alternative- Heavier than rock, not metal. Can't think of an example off the top of my head.
Progressive Rock (prog. rock)- Weird, VERY TALENTED music. Normally involves chorus effects on the guitars, keyboards, pretty trippy. Examples: Rush (2112,) Yes, Pink Floyd.
Metal- Metallica from their Black Album up to the Reload album. Heavy, but you can understand what their saying and whatnot. Black Sabbath could be classified under this too (as they created metal IMHO.)
nu-Metal- Bands like Mudvayne and stuff like that, bass sounds very "clicky" if you will, scream a lot. Kind of like Korn too.
Trash Metal- Early Metallica, very fast-paced metal (200+ bpm,) usually very heavy guitars with very fast bass drums.
Rap Metal- Early 311, Papa Roach, stuff like that. Rage Against the Machine may be classified under it.
Classic Rock- Bands like Aerosmith, AC/DC, Led Zeppelin, etc.
Punk- Bands like Rancid, very fast, jolly, upbeat, crazy walking fast basslines, and sometimes has some ska elements. ie Rancid, OLD No Doubt, and maybe old Green Day.
Pop-Punk- Bands with no talent, are sappy, but still can pull it off and become millionaires; ie Blink-182 (I like Blink-182 BTW.)
Emo- Normally mellow, acoustic guitars, they sing about how their hopeless with girls and how they got dumped but they still end up getting more girls then any other genre.
Screamo- Very heavy, all you hear is screaming THE WHOLE SONG.
Hardcore Punk- Similar to screamo, however they only scream some of the time.
Party Music- Relatively light, I guess you could dance to it maybe. My example would be Los Lonely Boys.
Grunge- Smells Like Teen Spirit is an amazing example. Classified as a music style as well as way to dress style.
Wierd As Hell- All I have to say is listen to Primus.
Funk Rock- Old Red Hot Chili Peppers. Incorporates a lot of slap bass.
Skacore- Check out the Voodoo Glow Skulls. It's like punk/metal mixed with trumpets and trombones and saxaphones.
Now you can make up your own other sub-genres from here, like I call System of a Down "Eastern Metal," and Sum-41 "Dark Punk."
If someone could sticky this, I'd give them a dollar. I probably just spent like 10 minutes on this, I need a life.