Dashboards are given a unique ID when they are created, and it is this unique ID that is used to identify the dashboard and determine whether it already exists on the server when you publish it. The unique ID will always remain the same in a dashboard, unless you select the Save As option from the file menu and save a copy of the dashboard. The saved copy is given a new unique ID, and as such will be treated as a separate dashboard when published.
As such, until you use the Save As option, a dashboard will always overwrite itself when published. As soon as you save a copy using the Save As menu option, it is treated as a separate dashboard and will be published in addition to the existing copy.