「行く」 means “to go (from where to speaker is to somewhere else)”
「来る」 means “to come (from somewhere else to where the speaker is)”
「行く」 can refer to going from the speaker’s location to another location or from one location away from the speaker to another location away from the speaker
「行く」 can represent movement that does not involve the speaker (can be more objective than 「来る」 in this way)
「来る」 can only refer to going towards the speaker’s location
ex: 「雨が降ってきた。」
this uses a time expression to state that rain has come to the present time
attached helper verbs tend to not use kanji
ex: 「だんだん雨が降っていく。」
this uses a time expression to state that the rain will increase in the future
the above examples use 「行く」 and 「来る」 to describe a continuing process
ex: 「勉強すれば、だんだん数学が分かってくる。」 means “If you study, math will gradually come to be understandable to you.”
ex: 「寒くなってきた。」 versus 「寒くなって行った。」
the first sentence implies that the cold is affecting the speaker subjectively
the second sentence more objectively implies movement without mentioning the speaker