Just to add: I don't think you can ever go wrong with using a person's name + さん or whatever is appropriate (くん, ちゃん, 樣, 先生, 課長, etc., or nothing). Just 課長, 先生, or whatever title is fine too, when it's clear which 課長 or 先生 you're talking to. Oh, if you're working in a store and you're talking to a patron, though, you definitely want to say お客様 when you're addressing them. I'm probably missing a lot, but I believe this is pretty much a solid rule of thumb.
Also, just an aside, I remember reading a paper arguing that Japanese doesn't have pronouns in the sense that Indo-European languages have them. That is, ever since Latin there's pretty much been a form of "I" or "you" that's been consistent in usage and form (I think Old English was "ic," but I may be remembering wrong).
However, Japanese on the other hand hasn't had this. There have been わらわ, 拙者, and それがし, for instance, used to address oneself. No one uses those anymore (you run across them in anime or 時代劇, and you might here someone jokingly use them though). Likewise 御主 and 汝(なんじ)aren't commonly used anymore for "you." Plus just looking at the modern first and second person "pronouns" you've got lots of variation. Usage is different as well (both inter- and intra-lingually).
Then there are 彼 and 彼女, words basically invented for "he" and "she" to translate Western literature during the
Meiji Era. They also have uses nothing like "he" and "she" (for instance, they can mean "boyfriend" and "girlfriend," respectively, and can be modified). I found it a pretty convincing argument, but there is the issue of how other language families/groups use pronouns. I'm not too familiar with Native American languages, for instance, so I don't know. But ever since I read that I never again thought of あなた as "you" (especially since it's a word used towards one's lover to indicate that they're, well... one's lover).