This only occurs for complex field types, such as:
Multiple lines of text External Data Lookup
This is a known limitation when working with complex fields. Every time a page refresh happens a full postback is made resulting in a duplicate list item.
The workaround is to use the out of the box form pages to manipulate list data if the problematic fields are used in the view.
As a preventative measure the new Enforce unique values functionality can be turned on to prevent item duplication but it can result in a confusing experience if a user refreshes the page with this functionality turned on.
Please refer to the link below for additional information about Enforce Uniqueness:
Finally, a workflow could be used to look for duplicate fields and remove them as well.