가다 vs 오다
First of all, note that the sentences in which the word 가다 or 오다 is contained are most likely focusing on some person or object's perspective. Literally translating, 가다 means "to go" and 오다 means "to come". If the moving object is "coming" according to the aforementioned perspective of the sentence, 오다 is used. For instance, if you want to translate "she is coming to him" into Korean focusing on "his" perspective, 그녀가 그에게 오고 있다 would be most appropriate. Focusing on "her", or just a third person's point of view, it would be 그녀가 그에게 가고 있다.
There would be no difference in the actual information being conveyed, just like the difference between the English words "go" and "come".
Below are some examples:
- 오고 있으니까 기다려! (Wait for me, I'm coming!)
This sentence is focusing on the perspective of the one who is waiting. Saying so would make the sentence less "self-centered", perhaps creating a bit more friendly atmosphere.
- 언제 일본에 가는 건데? (When are you going to Japan?)
This sentence implies that both the speaker and hearer are not in Japan. If the speaker was in Japan, he or she would have said 언제 일본에 오는 건데?.
You might have already noticed that the difference between, as well as the usages of, 가다 and 오다 are pretty much the same as those of the English words "go" and "come", and it is fairly safe to assume so.