When you have two-way calendar sync enabled for a calendar, events you create/update/delete in Marvin will be immediately synced to your "remote" calendar. But changes that you make in your remote calendar are only taken over when you press the "Calendar Sync" button at the top-right of your screen, or when an automatic sync takes place.
Automatic calendar sync is always on when you have calendar sync enabled. Each 30 minutes Marvin will check for updates from your remote calendar, as well as any local changes that didn't manage to make it to your remote calendar.
Automatic calendar sync only happens on one of your devices. Whenever you connect with a device, Marvin checks whether this is the first device that you've opened in the last while. If it is, then it becomes the primary device, and so long as it stays open it will remain the primary device. If you close Marvin on this device, it may take longer than 30 minutes for automatic calendar sync to start up on your other device. You can always use the manual "Calendar Sync" button to grab the latest data if you see there are some changes that haven't been taken over yet.
Note: there are some changes that currently aren't synced by Marvin. If you're using an outlook calendar, then changes to recurring events made either within Outlook or within Marvin aren't synced. If you're using gcal (google calendar), then changes you make remotely will be synced to Marvin, but changes you make in Marvin won't make it to your remote calendars. We are hoping to improve this in future updates!
See this guide for outlook calendar troubleshooting.
See this guide for google calendar troubleshooting.