Here's how I understand it:
-tan
This I think is geek-speak.  The only time I've heard it is the anime/pasokon otaku subcultures.
-chan
Very common for younger girls/females close within your social circle that are younger than you.  I've seen it used with boys too in really familiar situations.
-kun
For boys.  Sort of like the yang to -chan's yin.  Bosses will use it a lot for their inferiors as well.
-senpai / -kōhai
Mentor & Pupil. 
Sempai is typically someone a year ahead in school, filling sort of a "big brother" social role for 
kouhai.
-shi
This is often "Mr," and you'll see on the news and in papers.  It's used to denote a name without applying any particular sort of respect to it, while at the same time avoiding disrespect by having no suffix.
-sama
This is a very polite suffix, indicating a great deal of distance between the speaker and listener (for instance, a salesperson addressing a customer will use 
-sama).  It is also used as a form of address in letters and the like.
That's the breakdown.  I'm sure others will provide more detail later.  
