Canada may be different but this is how it is supposed to be:
- DA is used for precision approaches (ILS, MLS, PAR, GLS) and APV approaches (approach with vertical guidance such as LNAV / VNAV and LPV approaches).
- DH is used for CAT II / III approaches.
In both cases its the altitude / height you make the decision, meaning that by the time have achieved positive rate of climb, you’ll have descended slightly below, this is factored in.
- MDA is used for all non-precision approaches (VOR, NDB, SRA, LNAV, LP to name some) and for circling / visual maneuvering.
- MDH has no practical purpose that I’m aware of other than showing the height of the MDA above threshold or aerodrome elevation which is useful for determining if the ceiling (reported above aerodrome level) is above MDA.
Now the odd case is that (at least in Europe) the states publish the MDA for all non-precision approaches. MDAs are a little old fashion, they are from an era where non-CDFA (Continues Descent Final Approach) approaches were common. I think like 10/15 years ago non-CDFA approaches started to disappear and most non-precision approaches are now flown as CDFA, a constant glide path to the runway without levelling of at MDA. Airlines were flying CDFA already anyway as there is no way you would level off your fully loaded 747 at MDA, fly level to the missed-approach point and if you have the runway in sight, pull the thrust levers to idle and dive for the runway. You could do that in a Cessna maybe but it doesn’t fit with modern day stabilized approach concepts used by airlines.
Problem is that for non-precision approaches the published minima (at least in Europe) are still MDAs. What Jeppesen does is take the MDA and call it a DA! I still have no idea why but all DAs on Jeppesen plates for non-precision approaches are actually MDAs and you have to add a correction to use it as a DA (we use +30 ft for turboprop / +50 ft for jet in the company I work for). NavBlue does the same, they copy the MDA directly, but at least they don’t call it a DA.
You could scroll through this thread, it has some nice examples: