Each object in Salesforce has a certain classification type: Contact and Lead objects are WhoID objects, whereas everything else is considered a WhatID object.
Dialpad calls, by default, will always log to the Salesforce object that’s matched against the contact you’re calling. When you select a related object, the call gets logged to that object and the related object is tagged to the call task as a “WhatID” object.
If a call involves two objects of the same types, this will create two tasks. This is because Salesforce doesn't allow the creation of a task that’s associated with more than one WhatID or WhoID object.
Because of this, logging a call to a related object in the Dialpad Salesforce integration may result in two tasks (or what appears to be a duplicate task).
For example: Account and Opportunity are both WhatID objects, so if the call is logged as both an Account and Opportunity, it will create two tasks. On the other hand, logging it as both a Contact and Opportunity would only create one task, since Contact is a WhoID object and Opportunity is a WhatID object.