Very difficult topic you threw..TT
1. Both are used to connect the two clauses without a big meaning difference.
But I feel like 고 makes sentences more in sequence.
나는 건너편에 있는 사람을 보았고, 그가 내게 손을 흔들었다.
(는데 can be used here, too.)
2. When you say things about going, coming, and arriving, you would use those words.
But 에 works with existence, as in 내가 찾아봤는데 그는 사무실에 없었어.
(You cannot use ~ 그는 사무실로 없었어.)
So, I 'd say both are okay with '가다, 오다', but sometimes only 에 is possible to be used.