The folks at Mental Floss recently pondered the same question and found that the answer goes back to the connotation of the two words. "Happy" is an emotional condition, while "merry" is a behavior.
Furthermore, happy, which came from the word "hap," meaning luck or chance implies good-fortune. Meanwhile, "merry" implies a more active showing of happiness—which you might think of as merry-making.
While both words have evolved and changed meaning over time (yes—people did once say "Happy Christmas"), people stopped using "merry" as its own individual word during the 18th and 19th centuries. It stuck around in common phrases like "the more, the merrier," as well as in things like Christmas carols and stories, largely due to the influence of Charles Dickens. The Victorian Christmas went on to define many of today's holiday customs.