Imagine this scenario:
You have a custom SharePoint Designer workflow attached to a list or a library in SharePoint 2013. The workflow runs when an item in the list/library is created or modified, and one of the steps in the workflow is to send an email notification to a user or a group of users. The workflow runs as expected, but your users are telling you that they’re receiving duplicate email notifications. How do I get rid of the duplicate emails?
If you check the workflow history, you will probably see that every time an item is added or modified, the workflow runs twice. That’s why you’re receiving two email notifications. But why is the workflow running twice for each item?
The reason for this is timing. If your workflow is very short and the SharePoint server is very slow, the first instance of the workflow may finish well before the item is fully saved and committed to SharePoint. As the item is being processed, the workflow event receiver can fire again, and start another instance of the workflow.
The solution for this problem is to add a step at the end of your workflow which will pause the workflow for a few minutes – I usually set it to 5 minutes and that seems to solve the problem.