We had a Garmin user ask via message yesterday, and it's a good question.
This happens often, for many reasons, but the most common we've found can be easily solved.
When you create a track or route using desktop software, it's a good idea to use the same map set that's actually loaded on your device.
You may have multiple map sets on Basecamp but only say, Garmin Topo on your GPS.
Using shonky maps or others, the track could display differently, leaving you thinking it's out of calibration, when it's actually just the difference in maps (we've seen them up to 2kms out)
That's a lot, particularly if you have tracks running within metres of each other.
Same goes for other brands, creating files on Tom Tom etc, may be out on your Garmin.
The example below is the same track switched between two different brands of maps.
The top screenshot is accurate, the tracks shown over roads are 47m apart.
In this screenshot, the tracks remain the same, however the roads are 512m apart.
The most accurate has been when switching between Garmin Topo and Oz Topo.