They are similar, but there is some nuance.
- 거듭하다 = do something over again (usually used for an undesirable but necessary thing).
- 반복하다 = repeat something, often as part of a process (it has a more neutral tone).
So when you repeat something purposefully or automatically, 반복하다 fits better.
거듭하다 has a slightly formal ring to it, and 거듭 by itself can work as an adverb, while 반복 is just a noun.
- 거듭되는/반복되는 사고로 사람들은 불안해한다.
- 중요한 일이니까 거듭[다시 한번] 설명드리겠습니다.
- 국가는 1절을 두 번 반복해서 부르겠어요.
- 끊임없는 반복을 통해 완벽한 기술을 습득할 수 있다.