I am extremely bad at people's names. No, worse than that. I can meet someone once and, six months later, tell you where they live, where their spouse went to college, and what their dog is named, but I cannot for the life of me remember their thrice-damned name.
I now live in a very, very small town. I can only say so many times, "I'm sorry, I'm so bad with names, could you remind me of yours?" before people start to get offended. Of course, I always try to link their name to a phrase ("Rose of Sharon") or to some descriptor ("Sammy's mom Alice") or to something about them ("Sara who's from Israel and whose spouse teaches history" - this one works the best but is impractical in many social settings where nobody is introduced as "My great-aunt Sophie who used to practice Wicca and who lives on a hippie commune in Kansas") but clearly it doesn't work. I also repeat their name back to them, say it in my head several times right away, and promptly forget it.