Here are some links for you to look at some pictures that explain the general meaning of different prefixes. Fortunately, with verbs of motion these really have more or less fixed meanings.
As for the overall use, I like this "practical" explanation of typical patterns of use for indefinite vs. specific verbs of motion:
Just remember that the choice of aspect is a matter of your point of view. It just sounds weird when you suddenly make a choice vastly different from any that a native speaker would. Sometimes it contradicts the nature of the verbs, sometimes not.
Memorise some typical constructions where it is virtually impossible to change interpretation: if you "go to school" (study there), it is always "ходить в школу" (habitual). "Идти в школу" is only when you are going to the school, like, right now or soon (specific, definite motion).