I have a theory that fashions in names go in a roughly 125-year cycle, i.e. five generations.
I'm assuming a generation is about 25 years, with women giving birth mostly in their twenties. Obviously I'm talking averages. I'm talking about girls' names, but I suppose the same applies to boys' names.
A name becomes popular because someone famous has it, say an actress or princess. So lots of people give it to their new babies.
After around 25 years, the girls with that name are young women, so lots of novelists give the name to their romantic heroines.
After 50 years, those women are aunts to the generation who are now in their twenties and having babies – so these new mums and dads think it's a middle-aged name.
After 75 years, those women are great-aunts to the generation who are now in their twenties and having babies – so these new mums and dads think of it as an elderly lady's name.
After 100 years there's hardly anyone left with that name. But the people who are now in their twenties and having babies have childhood memories of their great-great-aunts, so still think of it as an elderly lady's name.
But after 125 years, people only know it as the name of romantic heroines in novels from 100 years ago. So people start thinking of it as attractive again, and start giving it to their new babies again.
And so the cycle begins again.