The phrase itself, and what it literally means
Feliz cumpleaños (feliz "happy" plus cumpleaños "birthday") is the standard phrase everywhere Spanish is spoken, with no meaningful regional split the way some other phrases on this site have. Cumpleaños is itself a compressed piece of grammar: it comes from cumple (a form of cumplir, "to complete" or "to fulfill") plus años ("years"), so the word literally means "[one] completes years." The Real Academia Española defines it simply as "aniversario del nacimiento de una persona," the anniversary of a person's birth, and notes that as a noun it's written as one word (su cumpleaños), while the underlying verb phrase stays two words (mamá cumple años hoy, "mom has a birthday today," literally "turns years today").
A shortened, casual version is common in speech and texting: ¡Feliz cumple! drops the second half of cumpleaños much the way an English speaker might text "HBD" and skip typing the whole phrase.
The greeting is also commonly followed by a second line rather than left standing alone: ¡Feliz cumpleaños! Que cumplas muchos más, literally "may you complete many more," closer in spirit to the English "many happy returns" than to a literal translation. It's a warm, standard add-on across the Spanish-speaking world, not a regional variant of the greeting itself.
Las Mañanitas: the song most Mexican households actually sing
English speakers often assume the Spanish birthday song is just a translation of "Happy Birthday to You," and a direct Spanish adaptation of that tune does circulate informally in several countries, usually opening with the line cumpleaños feliz. But in Mexico, and in many households with Mexican roots elsewhere, the song that actually gets sung is a different piece entirely: Las Mañanitas ("The Little Mornings"), traditionally performed at the crack of dawn, with family gathering outside the birthday person's door, or a hired mariachi band, to wake them up with it.
Las Mañanitas didn't start life as a birthday song, and its roots reach back further than Mexico itself: the melody traces to the romanza, a serenade tradition from Sephardic communities in medieval Spain that colonizers carried to Mexico, where it was later reshaped, after independence, into the style historians classify as a corrido, not a ranchera. Only gradually did it settle into today's familiar role. It's also sung on Mother's Day and for saints' days in Mexico, not exclusively at birthdays. Its lyrics compare the beauty of the dawn to the person being celebrated, rather than simply wishing them a happy day the way the English song does.
Once the celebration is over, the two other everyday phrases worth having on hand are good night in Spanish and the different registers behind saying "I love you" in Spanish, both of which come with the same kind of nuance that a direct translation misses. Both of those live in LingoGrove's Phrases hub alongside this one.