Disregarding the issue of which data should be updated, for instance several people updating the same record on the device, syncing is quite simple but time consuming.
Importing data and updating your table to match is easy and FileMaker's import handles replacing the data in fields and importing new data but you have to understand how that will work. One method is to show all records on the device doing the import and find all new or modified records on the source. Now existing records will be updating and new records imported. If done inccorectly by not showing all records on the device, records can be duplicated.
Using an inbetween file lets you create a TO from host and the local table. Then script the import using those tables.
Another method is the blob method I am working on where I perform a script in the file to receive the data and then parse it accordingly. Using this method I can include data from any table, related or not, and break it out in the receiving script. This method is better for syncing since a dropped connection can be accomodated. An import will not do that.