This method Creates new records and updates existing records; uses a custom field to determine the presence of existing records. In most cases, we recommend that you use upsert() instead of create() to avoid creating unwanted duplicate records (idempotent). Available in the API version 7.0 and later.
What this means: you need not worry about insert or update as this method will take care of that for you.
How will this work in adobe campaign?
all you have to do is ensure that your sfdc object have external id and you are passing a correct value from Adobe campaign activity.
Example: Campaign member object in salesforce needs below id to work
rest you can pass any value that you need to update. CampaignId is used as external id.