I like this explanation:
Let's try another auxiliary verb (other than can) and see if that helps. We would say "Why DO you not go to the dentist?", but we wouldn't say "Why DO NOT you go to the dentist?" Right? And the reason for that is that the not is an adverb that wants to modify the main verb, not the auxiliary, so we want it next to the main verb. Now with the contraction, the closest it can get to the main verb is still in front of the subject: "Why DON'T you GO to the dentist?" or "Why CAN'T you go the dentist?" The difference between do not and cannot is that cannot gets written as one word. (I'm not sure why this is so, but it is -- unless you're being extremely emphatic about the not and then you could say, "You can not go to the movies!" We do break it up, however, when we ask the question, just as we break do and not (so that the not can modify the main verb): "Why can you not go to the dentist?" That explains it for me, anyway.