в чем разница между 가져가다 и 가져다가다?
Мне кажется, вторая форма в вашем вопросе должна выглядеть иначе: 가지고 가다 либо 가져다 주다.
Обычно такой вопрос задают относительно 가져가다 и 가지고 가다, 가져오다 и 가지고 오다.
Их семантика, действительно, очень близка. И та, и другая формы означают - по большому счету - "унести" ("пойти/придти, взяв и имея при себе нечто"). Они отличаются тем, что первая форма значительно лексикализована (она неразрывна, это именно "унести", и должна, по идее, быть в любом словаре в качестве отдельной словарной статьи), фразы с этой формой просто сообщают о некоем действии, событии (책 가져왔습니다 "Я принес, доставил книгу"). Вторая форма (가지고 가다) морфологична, она разделяет два действия "брать" и "идти" - "пошел, взяв нечто", "унес с собой", и фразы с этой формой являются указанием на то, что у тебя в руке, либо на то, как ты распорядился с этим объектом: 책 가지고 왔습니다 "Я принес с собой книгу, явился с книгой (а не с чем-то другим или не послал ее по почте, а доставил лично и т.д.).