A field value in Marketo is changed to "null" by the SFDC sync, but when you check the field on the Salesforce side, no change has been made.
Reason why this happens: Fields are being nulled out on the Marketo side was because updates were made to these records on the SFDC side, making the most current version of the record which lead to these fields being nulled out on Marketo's end.
Review First -
If there is an alert setup for tracking these changes, this can be caught by finding a "Failed: no more information" error in the Activity Log of the leads. After this first "Failed: no more information" error, the Contact record in SFDC and the Person record in Marketo were no longer able to sync until the picklist value present in Marketo was added back to the picklist field in SFDC.
Check SFDC side -
Check to see if the field value was removed on the SFDC side. It might be filtered by the record types on the Contact object. In other words, the value was present for the picklist field on the Contact object, but it was not available if a Contact record was created with a certain record type.
Once this value was added back to the Contact record types new Contact records and their fields are able to be updated by the Smart Campaigns. Once the SFDC Contact record picklist values had been added back to the Contact record types Marketo will sync again.