Actually, "me llamo" literally means "I call myself". This is the preferred way of telling someone your name.
'"Cómo se llama" is used to ask for someone's name, and means "how do you call yourself"
Saying "mi nombre es" is usually reserved for responses to formal inquiries, such as at a security checkpoint.
Yes, note the similarities with other Romance languages: "Me llamo" I call myself as the verb "llamar" = to call.
The verb here is reflexive = llamarse (= se llamar)
In French: appeler = to call.
Se/s' = oneself (reflexive)
S'appeler = to call oneself = llamarse.
Same. In Romance languages, you explain other people how you call yourself, (or like to be called), it's not exactly the truth, as you are given a name (by your parents), but it's the way it's expressed. Like saying that you are called by other people.
'mi' is the adjective 'my', modifying the noun 'nombre'. So, 'my name'.
'me' is a reflexive pronoun, essentially translating to 'myself', when acting as part of a reflexive verb, 'llamarse', in this case. So, '(I) call myself'.
See the explanations by mathchoo and PERCE_NEIGE above, to help understand the usage.