가다 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 the sentence "she is coming to him" were to be translated into Korean focusing on "his" perspective, 그녀가 그에게 오고 있다 would be the most appropriate choice. Focusing on "her" or just a third person's point of view, it would be 그녀가 그에게 가고 있다. If the one who is writing or saying the sentence were actually with or near "him", the former would be used.
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 were in Japan, he or she would have said 언제 일본에 오는 건데?.
One might have already noticed that the difference between, as well as the usages of, 가다 and 오다 are almost exactly the same as those of the English words "go" and "come", and it is fairly safe to assume so.