One reason that the software is inaccurate is that every new chipset (and sometimes different manufacturers mobos) output their data slightly differently. So the software has to constantly be updated to understand a given chipset & mobo's arrangement of sensor data and what it relates to. If the software is not up to date on your particular mobo, then the readings can be totally wrong.
Another is the the sensors themselves can go bad, and give false readings. So using a physical multimeter can give you accurate results that are independent of the mobo's sensors or the software's shortcomings.