San is for when you speak to women or a sign of respect among people you work with, equal or below. It is formal, and while it is not feminine, women are tk be addressed formally. You can consider it the same as Mister, Miss, Sir, Maam.
Sama is used in business for people you are serving. Your boss, a hotel employee welcoming a guest. If you use this regularly instead of San, you should understand it would be considered either delusional or patronizing. You can consider it the same as Lord, Lady, Master, Miss, Highness, Your excellency, you get the idea.
Kun is used for men only. It would be poor taste to use it in formal occassions. Think of it like homie, dude, bro, buddy, amigo, a male friend who has your back in an informal setting.
Chan is used in two ways:
1) The feminine version of kun, but more appropriate for younger females. It is playful. Think of it like (name) darling, cutie, little girly, sweet etc. This is the one you must take care of, because times are changing and a female may prefer San over Chan. For example, I am in my 20s and a working professional with three degrees, working kn a fourth, and accepted alreasy in to a program for a fifth, and I would feel offended to be called chan because I do not attempt to act cute, and depending on the context it invokes a mentality of "*petpat* cute". However, if I am playing around and at the beach with friends, I will be more accepting of beinf called chan. Otherwise it is very undermining.
2) For children, friends you grew up with, younger siblings and possibly older siblings depending on your relationship with them, but if your older sibling is male then you will most likely have a relationship where you call him san. It is a cute and playful title but keep in mind that if you use it inappropriately then it will be viewed as patronizing: "awww little bitch." Names are also shortened and adjusted to sound more adorable, too.
For example, Exaelitus could be adjusted to Exy-chan.
The reason it is so easily identified as to what you call someone in Japanese but confuses English speakers is because owed status and segregation by status is prevailent and enforced, for example an older sibling is the prioritized sibling. In American society, the amount of respect you receive is based on what each individual is more or less 'allowed' to have by the person engaging with them. When the perception behind Japanese titles is Sama is fact, it is not a negotiable opinion based on how much you like someone. You do not get to dictate who is higher status above you, or you are mistakenly prioritizing yourself in a way that arrogantly dictates what level of power and ability to 'gift' or take away--that is why inappropriate use is rude or weird.
Edit: sorry about my spelling. Auto correct was just out of control, so I turned it off. Also, there are orher rukes I forgot to mention but combined with the other responses, I think it is covered.