Can you use へ and に interchangeably, as in 北海道へ行く and 北海道に行く? Are there any subtle differences in the use of these two?
- に emphasizes the location
- へ emphasizes the direction
- まで emphasizes the process or journey
There is a very subtle difference between the two--with に, the destination is more important; with へ, the journey is more important. You might use に if you want to say you're going "to the store" and へ if you want to say you're going "in the direction of the store [and ending up there]."
Is there a lot of practical difference in how they are used? Not really.
Side note to the question but relevant:
Use only へ when you want to use the grammatical construct 〜への〜.
◯ 改札口への階段はどこですか。 Where are the steps to the ticket gate?
On a pedantic note, there is an old saying the goes like
京へ、筑紫に、坂東さ (ca 1609)
京に、つくしへ、坂東さ (ca 1496)
which shows how each dialect used different particle to say 北海道○行く around that time. 京 is for Kyoto, 筑紫(つくし) is Kyushu and 坂東 is Kanto/Tohoku.
Being just a layperson on Japanese linguistics, I'll just stop here, but I'm sure a more learned person will have a lot to say about why the place of に and へ are different between the two quotes above, and how these regional differences came about.
I've always seen に as meaning going somewhere directly without any intention of stopping, whereas へ shows that they are going that way, but if they see something interesting they may stop or make a detour.
Those 2 threads asking the same question should be merged and maybe become wiki to be edited easily (particles questions are recurrent)
To sum up and try to correct some of the answers already given:
-へ is the direction particle. You could say it focuses on the journey
-に is the destination particle. It focuses on the destination.
-まで Is a final destination particle as well but implies that you're coming from somewhere (から) and thus that there's some distance between the 2 points.
-のほう（の方） means in the direction of. It could be used in a case where you are giving direction to someone:
(walk 300m towards the post office and you will see the middle school on your right)
へ is the direction に is the purpose
When I say デパートへ行きます, I am just heading towards the department store. When I say デパートに行きます, I am going to the department store with a purpose. The department store is the location where I will complete my purpose.
It is the same as saying 買い物に行きます or 仕事に行きます Shopping and work are not physical places but merely activities or purposes in this sentence. に cannot be replaced by へ in that case.
But when we are speaking about a location, we could either used へ or に as we usually go to a place with a purpose. Japanese people tend to never use へ in a conversation but rather に
へ is also used to soften に in some cases, since it's slightly more vague. For instance, at a restaurant I saw a sign posted over a counter that used something like 「こちらへ食器をお返し下さい」.