Syncthing, by a mile. As someone who very much enjoys tinkering with Linux and such, but also likes trying to onboard other people who aren't as techy, Syncthing is such a killer example. It's almost depressing because I want other free and open source stuff to be this good, though I know the economics (and proprietary interference, perhaps?) make that tough.
I've been dragging my feet migrating a hard drive from my old desktop to my new one for 1.5 years. This past weekend I finally got motivated to power the old one up and wait for syncthing to give positive indication that it's in sync with my server. The reason that was even a concern of mine is that the last time I used that desktop, I spent a whole weekend cleaning up about 200 GB of renamed and duplicated "sync conflict" files that syncthing created and then synced to my server when I previously migrated hard drives. I wasn't sure if all the fixes had made it to the server yet. That required writing my own tooling to positively confirm every duplicate was bitwise identical before deleting one or the other.
The official documentation suggests I remove syncthing's metadata from the drive and then add it again on the new computer, and let it re-sync. It's a good way to check for bit-rot I guess. At least the documentation these days suggests marking one instance as read-only.