As a counterpoint, I've been using Calibre for 10+ years with hundreds of books and multiple libraries, syncing them across Windows and Linux machines (using Nextcloud), and I've never even once seen any data losses.
And some hundreds book's is not much, unless you change all of them at once. The probability of loses depends on the number of changes. One reason seems poorly implemented writing of data, and lousy communication of pending changes. At least it was the case 2-3 years ago when I last looked at this. But I guess, this is part of the questionable UI..