The difference is most important when you have more than one line of code to be executed at least once. Simulating a do loop with a while loop would result in substantial code duplication, which is always bad. Granted, a better solution is to refactor that code into a method and then simply have the same method call before and in the loop, but many people dislike even that much duplication, and using the do keyword declares unambiguously "this is a foot-controlled loop".
So, basically, readability and basic SE principles.