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.