I've participated in several threads on this board where folks have said they can no longer get GC to complete a 2-way sync with their device. Failure typically presents itself in one of two ways.
1. A device that was syncing fine a few days ago shows a sync failure in Garmin connect or Garmin express no matter how you connect it or what OS you're using. Most users report their activity data going from their device to Connect or Express without issue, but the device failing to receive setting, app, widget or data field updates.
2. A new device on an existing account won't pair, or pairs and then shows the behavior listed in #1, above.
After messing with this for several hours yesterday, I figured out how to fix it.
I'm almost certain I had a third-party app, widget or data field that was breaking my sync. If you have any third party apps installed, this may be your problem as well. The only way to fix this that I've found is from the web app. In the web app, click on the icon in the top right that lists your devices. If there are any pending items to sync, there will be a blue dot. Click the blue dot and it will list things waiting to be synced to your device. You can try deleting on the apps and widgets listed, or just cancel everything. After this you can try uploading your apps, widgets and data screens one at a time until you determine which one caused the failure. It's also possible that there's just some corrupt data in the queue that needs to go away before a sync will proceed and it's not related to an app, widget or data field at all.
That said, it would be nice if something came up like "sync failed due to x failing to sync, would you like to remove this item?" instead of a generic "sync failed" and confusing list of data in the sync audit.