Q. Do all Japanese names have a meaning?
A. Most Japanese use kanji for their names, though some use hiragana especially for female names. Each kanji has its meaning, which is why most Japanese names have a meaning.
When the parents name a child, they chose kanji characters. Since there are thousands of kanji to choose from, there are many different kanji combinations that can be used for the same name. For example "Keiko" is a common female name, but it is difficult to know by its pronunciation what characters are actually used. That is probably one of the reason the business cards (meishi) are important for business in Japan. The business cards serve as a convenient means to make clear how a person's name is written.
When the parents choose kanji for the name of a child, they usually choose from its meaning. For example, "ko (child)" is commonly used for the end of female name. "Mi" is a popular choice of the girls name, since it means beauty. They also have concern over how many strokes are used to write the name. When the parents wish to name a child after their names or relative's, they use one of the kanji characters from that person's name instead of giving them the same name.