I had physical problems with my watch where it wouldn't charge as well. Replacing it fixed that.
However I noticed that the compass still had issues even on the replacement. It was due to the restore from backup.
Basically before Apple patched an issue with restoring from backup with different software versions, I was able to restore from backup from when the software versions were different. Ever since then the backup has been messed up. Everything else seemed to work except the compass. After wiping and setting up as a new Watch then manually placing everything back to how I had it, it worked fine and has worked fine since.
If you notice, Apple has patched this from occurring now. So if you are running WatchOS 6.0.0 and your backup is from 6.0.1, the backup won't even show up as available to restore from whereas before it would come up and allow you to restore and mess up your watch. It appears to have only affected those who came from a previous Apple Watch series and had a software version mismatch at the time of switching.