«Felicidades» se puede emplear en cualquier situación en la que el hablante se sienta feliz por el éxito de otra persona, así como en fechas señaladas o acontecimientos especiales para expresar felicidad.
— Has ganado la partida. ¡Felicidades!
— ¡Felicidades, hoy es tu cumpleaños!
Sin embargo, «enhorabuena» se utiliza generalmente para la primera acepción que mencionaba; es decir, para expresar la alegría que siente el hablante por algo agradable que le ha pasado a otra persona. Por lo tanto, en los ejemplos que he expuesto antes, solo podría sustituirse por el primero:
— Has ganado la partida. ¡Enhorabuena!
Un saludo.