V. + (어/아) 오다
=> "to do . . . and bring"
V. + (어/아) 가다
=> "to do . . . and take," "to progress/go . . . (ADV.)"
-어/아 오다 and -어/아 가다 are useful helping verbs to indicate the direction of the main verb.
There is no one-word verb for "to take" or "to bring" in Korean,
but their equivalent expressions are 가져 가다 "to have and go" and 가져 오다 "to have and come."
Similarly, Korean has 사 오다 for "to buy and bring," 캐 오다 for "to dig up and bring," and so on.
잘 해 오다 to do well and bring 잘 해 가다 to make well and take
요약해 오다 to summarize and bring 요약해 가다 to summarize and take
가져 오다 to bring, to fetch 가져 가다 to take away
사 오다 to buy and bring 사 가다 to buy and take
물어 오다 to bring by mouth 물어 가다 to carry away by mouth
(of dog, cat, and so on)
알아 오다 to bring back findings 알아 가다 to take back findings
집어 오다 to pick up and bring 집어 가다 to pick up by hand and take away
씻어 오다 to wash and bring 씻어 가다 to wash and take away
싸 오다 to bring wrapped 싸 가다 to take wrapped
찾아 오다 to come to visit 찾아 가다 to go to visit
끌어 오다 to bring by dragging 끌어 가다 to drag away
For some verbs, -어/아 가다 indicates that the action or event is "progressing (well/slowly/fast),"
as in 잘 되어 간다 "it is going well" or "it is coming to (an end)," and as in 일이 끝나 간다 "the job is coming to an end."
For some verbs, -어/아 오다 indicates that the action or event is "have been .. (since past),"
as in 먹어 오다 "have been eating" and as in 일해 오다 "have been working". usually used in the form of "오고 있다","왔다" or modifier form like "온, 왔던"
그는 중요한 역할을 해 왔다.
He has played an important role.
그는 중요한 역할을 해 오고 있다
He has been playing an important role.
내가 오랫동안 살아 온 마을
The town where I have lived for a long time.
내가 오랫동안 살아 왔던 마을
The town where I had lived for a long time.
Also refer to https://www.italki.com/question/365005