То, что сразу приходит в голову (но, разумеется, это не все причины, так что буду ждать и других ответов):
Очень часто мода на имена возникает в результате какого-то важного события:
смерти известного человека (в год смерти Ленина резко возросло количество Владимиров)
большого достижения, совершенного человеком с определенным именем (например, в 1961 году после полета Гагарина в космос значительно выросла популярность имени Юрий)
важного события или годовщины события (имена Виктор-Виктория часто давали детям, родившимся 9 мая или же в год юбилея Победы)
выхода очень популярной книги или фильма (детей называют именами главных героев)
Мода на имена определенно связана с процессами, происходящими в обществе. После Революции освобожденные от необходимости выбора имен по святцам родители изобретали новые имена. Возникала мода на имена-химические элементы (например, популярное имя Гелий), имена-профессии, имена-аббревиатуры (например, Ким – Коммунистический Интернационал Молодежи). Имена, в которых были зашифрованы имена и фамилии партийных лидеров (Вилен, Владлен, Марлен и т.д.) или лозунги (Рэм –"Революция, электрификация, механизация").
После распада СССР многие россияне вернулись в лоно православной церкви и вновь обратились к святцам: так снова вошли в моду "дореволюционные" имена (Тимофей, Даниил и т.д.)
Вот очень любопытный сайт с графиками популярности имен в Москве и Московской области в XX веке: mercator.ru