@mmetr - Great question.
The connector jobs are good if you need to only pull from Salesforce objects and need to run regular updates - but not necessarily real-time. The downside is that the scheduled runs only considers records that have been updated since the last run.
The Rules Engine is great if you need to pull from Salesforce and another source (Gainsight, S3, etc.) or if you need to do a full data pull regardless if they record in Salesforce has been updated recently. Rules Engine is reliable, has good logging, and can be run as a test or historically if needed. The downside is they can’t be run more than once every 2 hours.
Real-time Rules are limited to only a couple of objects in Salesforce (e.g. Account) and depending on you Salesforce environment could run into API limits.
Here’s how I’ve typically setup the data sync -- Rules Engine for a daily job to sync critical data objects (Company, Persons, Opportunities) and less critical data objects (Subscriptions, Contracts, etc.), Connector job to run several times a day to sync changes for User and several Company fields that impact other processes in Gainsight, and real-time for fields that are highly visible and relevant to have the most current data (for us this is Health Score and CSM).