Selected answer is correct, but if you do want to nitpick the difference, it's that へ places slightly more emphasis on the motion toward the destination / departing from the origin, whereas に places slightly more emphasis on arrival at the destination itself. It's a bit like the difference between a visual where you draw the arrows indicating going to Hokkaido from here like this:
here -----> . . . . . . . . . Hokkaido
versus like this:
here . . . . . . . . -------> Hokkaido
For へ and に, respectively. In complete sentences, this basically never makes any difference except in how a sentence feels.
However, by the very fact that に has multiple possible meanings here whereas へ only has one, へ is preferred as being clearer when context is low, such as incomplete sentences. For example, you could ask someone where they're going today by saying
今日はどちらに[行きますか]?
but since this could also be short for
今日はどちらに[しますか]? ("Which will you choose today?")
it is much more common to say
今日はどちらへ?
Also, a travel agency will frequently use 北海道へ! as a standalone sales line, but not so often 北海道に! since it is ambiguous and also has less of a feeling of movement.
Here's another business example where へ is preferred: https://i.sstatic.net/Ldpsn.jpg (basically, "Come to us for rental property info in Okinawa")