@freemo @mjambon It's a little more complicated than that. Magnetic deviation can be caused by anything that produces or alters the magnetic field, including trace ferrite in a nearby hill, nearby power lines, or even the phone in your pocket. Then you also have other issues, such as magnetic variation (the difference between magnetic north and true north), and even additional counterintuitive errors caused by acceleration and turning.
For example, in every airplane cockpit, you'll see something like this (to compensate for local fields caused by electronics):
@LouisIngenthron No doubt it is a real effect, but easily managed in the wild. Any field that effect it are going to more or less within hands reach plus a little extra . So while its totally true it might be effected by an electronic device fairly close to it, or a large chunk of metal, anything even moderately far away (such as a deposit of metal a dozen feet under the earth) isnt likely to have much of an effect.
@freemo Depends on your acceptable margin of error. But if you want the level of precision necessary to measure latitude dip, you definitely have to take such things into account.
@LouisIngenthron Well as I said, its margin of error is well below the alternatives anyway.
@mjambon The wobble itself you can account for by normalizing with a gyro or force sensor. The issue of magnets around you, I mean yea if one is around it will throw it off. But making sure there isnt a magnet within a few feet of it isnt really a huge issue, these fields weaken fast.
You are right however the reason is accuracy. The magnetic field is weak and the resolution of the sensors are limited. Also GPS is hyper accurate. So there is no doubt its an accuracy thing.