Sometimes we call a person by a name that is not his or her given name.
Weltall asks about the related words epithet, moniker, and sobriquet.
The most commonly used word for another name for a person is nickname.
These words are indeed very close in meaning, but we can see differences in usage and context.
The broadest and most neutral word of this group is nickname:
His mother gave him the nickname "Binky" when he was an infant.
"Magic" Johnson got his nickname from the way he handled a basketball.
His name is James but his nickname is Jimmy.
Moniker is usually used in an informal or casual context, and can refer to a name or nickname of a person, place, or thing:
Because of their early shift, they were given the moniker "Dawn Patrol."
His classmates gave him the moniker "Gullible Gus."
As the "couture" moniker indicates, this store sells designer clothes.
Sobriquet is used in more formal contexts for the same meaning:
She was known by the sobriquet "Calamity Jane."
Joe's sobriquet in the neighborhood where he grew up was "Doc."
Sportswriters gave lefty pitchers the sobriquet "southpaw."
Epithet in this sense is a more formal, even literary term for a word or phrase that is substituted for a person's name, often because it describes them:
The beautiful but distant actress was known by the epithet "Ice Queen."
His charitable works have earned him the epithet "Mr. Philanthropy."
But please notice that the word epithet also has another meaning, which is much more common in English today. In this sense, it means "an offensive word or name that is used as a way of abusing or insulting someone."
Both sobriquet and epithet are formal and rare today. I would recommend that you use the word nickname, unless the context is informal or slightly humorous, where moniker is a good choice.