A user creates an new appointment, for example: a meeting in CRM with external attendees.
This meeting gets synced into Outlook via Exchange and invitations are sent to the attendees for this meeting.
The user then sets this meeting to "completed" in CRM.
The appointment is then updated in CRM and the changes are saved.
When the updated appointment is getting synced with Outlook it re-sends the invitations to the attendees of the meeting.
This is working by design. See chapter 36 of the 7.3 admin guide:
"Important: Please be aware that when a synchronized field on an Appointment is updated, a new meeting request is sent to all attendees. This is particularly important to note when adding confidential information to an Appointment."