I'm not from an English-speaking country, so I don't really hear the word "honey" used very often, but if we're talking about terms of endearment in general, I can easily understand how improper use could be considered rude.
I personally tend to use formal language around people I don't consider to be close friends. I use our equivalent of "Sir" or "Madam" (or a formal "you" - my language has both a formal and an informal "you," the usage of which is similar to the German Sie/du) when talking to people who are older than me, or to my superiors in a professional context. When I'm talking to someone who is my age or younger, I'll use his or her first name or an informal "you." I reserve informal language - including terms of endearment - for friends, family, and young children. Being mindful of language etiquette is an effective way of solidifying your position or status relative to that of the person you're conversing with. Using formal language is a sign of respect, and it should be reserved for people of a higher status, or for situations where showing respect is mandatory (talking to a customer, for example). When you use it, you distance yourself from the person you're talking to. Informal language is the exact opposite: using it implies that there's a close connection between you and the other person. If you use informal language when you shouldn't - i.e. when you're not really close to the person you're talking to - it seems strange and could be considered rude.