Syncthing is an open-source file synchronization client/server application written in Go, which implements its own - equally free - Block Exchange Protocol. All transit communications between syncthing nodes are encrypted using TLS and all nodes are uniquely identified with cryptographic certificates.1
Why I use it
My main motivation for using syncthing is for one thing: Music synchronization. I want to listen the same music in my phone as in my laptop or PC (by now you should know I don’t use music streaming services).
At first, it just simply copying my music from one pc into another, then it becomes copying into my phone, and then to other devices. And when this process becoming such a chore, I really needed another solution.
Enter syncthing

Figure 1: web interface for syncthing
I’ve been using syncthing for years now, and while there are better options for synchronization depending on the file types (such as for source code, it’s better to use git, and github or gitlab). I use it primarily for media files (music, videos, or pictures).
And my other uses for syncthing is for copying my org-mode files, kinda overkill to use git for these files, and my org-mode files mostly contains sensitive information anyway (my calendars, journal and such), using git is not an option.