What's the difference between turning up the resolution vs. using smoke high resolution in the Blender smoke simulator?
Turning up the base resolution increases the actual number of voxels used to calculate the sim. The high-res divisions  are a separate, secondary effect. They are applied after the sim itself calculates for that frame. High-res subdivides the voxel and adds additional noise based on the behavior of the low-resolution base plume. It's essentially a post-process displacement effect, just a more intelligent one than, say, globally mapped noise. 

The advantage to this you can take a blocky, low-res sim that is fast to calculate, and smooth out or fluff it up as though it was higher-resolution. The strength value controls the shape, lower values smooth the plume, higher values fluff it up. This way, you only have to raise your base resolution enough to get the basic movement right, you don't have to keep cranking it to get the detail and smoothness you want. Since you apply that as a post-process when using the high-res function, which means faster bakes. And it's much easier to iterate the design of the base sim, because you don't need to sim at full resolution all the time. 

It also helps out with an annoying behavior a lot of gas simulators have where increasing the base resolution can radically alter the behavior the plume. So you get a simulation at a lower, easily testable res, then you crank up base-res for the final bake....and 2 hours later, the result behaves nothing at all like your test bakes. High-res doesn't have this issue, because it doesn't affect the underlying motion, just smooths and adds detail.

If you want more information, you can read the paper that all these fluid-upres techniques are based on: https://www.cs.cornell.edu/~tedkim/wturb/wavelet_turbulence.pdf