I'll chime in here (sorry for any re-iteration to points provided by others).
In regards to the Kobo iOS app, the sync of books, bookmarks, highlights and shelves will ONLY work on books that have been purchased from Kobo and are downloaded directly within the Kobo iOS application.
Side-loaded books; ie; epub or PDF files that have been added to the app via email, ftp, dropbox, iTunes, or other methods (downloading the acsm file using the "Adobe DRM ePub" button from the kobo website also counts as a side-loaded file) will NOT have the above functionality synced, nor will the books themselves be synced.
Part of the reason could be due to privacy laws (I cannot honestly say if that is the case), another could also be copyright reasons (again I cannot say if that is the case).
However, the main reason is a technical one. Each book on our site has a unqiue id. It is this ID that we use for the various sync tasks to ensure we're talking about the same book. As this ID is set by us, all devices and apps that get this book will end up with the same book, and therefore sync like features will work.
Side-loaded books will get a unique ID. If you delete and add the same book back, it gets a new id, we don't record anything specific about the book to keep a record of it.
The other question is, where exactly would we upload these books to? Our servers would be the logical place, but there is an obvious cost, both financially and technically to maintain such a system.