good question :-)
I used to have a job where I had to remember peoples names (an outdoor instructor). Some cunning techniques:
The trick that works best for me is simply to repeat the name to the person as soon as I hear it. It sounds like this:
Them: "Hi, I'm Fred"
Me: "Hi, Fred, my name is Mike - nice to meet you."
By saying the person's name even once, it drastically improves my ability to remember the name.
To improve my chances even more, I try to use the person's name in my conversation with them. It sounds like this:
Me: "So, Fred, how did you find out about this event?", or "Hey Fred, I'm going to the bar - would you like something?"
All I can think of is asking for their business card!
I'm reading Harry Lorayne's "Ageless Memory" right now because I'm sick and tired of exactly this problem. Lorayne is the memory expert, and since I'm 52 I appreciate the larger text used in this book. So far, I've just tried the first few techniques - they work! (and if you're in you're 20's and snicker, well, these techniques should work on your not yet fully developed brains as well.) Whack! [sound of cane hitting side of monitor.]
The only thing that has worked for me is to mentally repeat the name at least 5 to 10 times immediately after I'm introduced. Then do it again, every time I see that person's face, until I can recall their name without much trouble.
When pressed for time or in events, I make sure that I carry a little notebook, write down the name and something about them that is unique. Then before going to bed, open the notebook and read the entries several times in a row.
This will help to fill your short-term memory, and prep your long term memory for permanent storage.
"I am horrible at remembering names," that just sets you up to continue the same way. - I strongly agree with this sentiment.
For me, associating someone's name with someone else I already know works well. When I hear the name, I picture someone else I know with the same name. If I don't know someone with that name, I repeat the name several times in my mind and associate the person's face with their name. Sometimes I can classify people quickly because I have a group of faces in my mind with the same name.
This tactic has worked very well for me. At times, I can remember the person who served me lunch at local restaurants days after they helped me. Turn it into a game. Tell yourself you want to master this. No one is born with the ability to remember names... they just make the effort and try harder. People appreciate being remembered.
If you're going to a network event that is monthly or something, I'd recommend writing down all the names on a notepad/cell phone after the event. If you try the first tactic and associate people with someone else, simply reading through the list of names next time you come to the event will help you remember who is who (specific details usually not needed, at least, for me). You'll be able to read a name and picture that person, or at least be able to recognize when you see them.
If you come across meeting someone for the second time but can't remember their name, put the blame on yourself. "I'm sorry, your name has slipped my mind, mine was Matthew." Smile, laugh, have fun with it. Crack a joke and put the blame on yourself. Often, the other person hasn't remembered your name either, so it's ok.
They say the best (only?) way to remember is to say the person's name out loud 3 times early in your conversation so when you meet someone immediately say, "nice to meet you, Shawn" rather than "nice to meet you." It's a very hold sales tactic and works.
Another hack - look at the person closely in the face and associate it with someone else you know with the same exact name. Visualize that person. Then when you see this person again it should bring up a visual memory association of the other person.
Extending what nzscott has recommended, I remember I read something similar. Try to associate the name of the person with some of the peculiarities of the person's face. A point to specifically note is that, the association has to be really really weird. IF you make an association that's logical, you won't remember the name. It MUST be illogical, crazy.
To remember Jarie Bolander, one can probably go like this:
hmm... this person is 'Jarry' with a ball-under, which leads to a picture of a jar being kept on a ball. Ain't it funny and crazy, and illogical to put a jar on a ball? Now in your current picture, imagine your scarf to be a ball and your face as the Jar. I can instantly recollect your picture (even in the middle of my sleep) when someone would utter the name 'Jarie Bolander'
This trick is based on the fact that we tend to remember the things that are weird. Just introspect, you'll realize that you'd remember most of crazy/weird things that have happened to/around you. But we don't necessarily remember the things that have taken a logical course.
The memories of the weird incident also last longer than anything that's logical.
This problem of remembering names gets worse when you are not acquainted with the names. e.g. if you are used to only American names and you have to remember a Russian or Persian or Indian name (which are usually tongue twisters and lengthy), you'd have more difficulty doing so. (where pronouncing the name correctly itself is a major problem).
An important aspect that would play a key role is not just the person, but the surroundings when you meet that particular person. Remembering text/words is way less effective than a picture. So put the name and the person in some pictorial perspective, include the surroundings in the picture that you 'ctrl+s' in your mind. It works!