OK, I'll make a stab at it...
They are both absolutely accurate when reading zero.
As soon as the reading on the altimeter is anything other than zero a number of errors are introduced (temperature error - caused by a non-standard lapse rate and instrument error - the instrument isn't made perfectly) Neither of these errors are significant except when the temperature is very different from standard (4% error for every 10 degrees variation from "standard" temperature)
These errors are exacerbated the further you are away from the altimeter reading zero. Quid pro quo, at sea level QNH and QFE are equally accurate. At a high elevation airport or if the temperature is very different from standard, QFE is more accurate.
The Canadian AIPs have more info on temperature correction:
RAC - 9.0 INSTRUMENT ARRIVAL FLIGHT RULES (IFR) – ARRIVAL PROCEDURES - Transport Canada
Basically, it doesn't make much difference until the air temperature on the ground gets below about -15C. Lower temperatures make the altimeter OVER read. So it says you're higher than you are (high temps make it under read)