I am confused. Do you want to copy to sheets DB or Destination? Your code has copy from Destination to DB.
If source is Destination sheet and target if DB sheet then:
Sub Update() Dim SourceRange As Range, DestRange As Range
Dim DestSheet As Worksheet, Lr As Long
Dim c1 As Range, f1 As Range, r1 As Range
Dim c2 As Range, f2 As Range, r2 As Range
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Set SourceRange = Sheets("Destination").UsedRange.CurrentRegion
Set DestSheet = Sheets("DB")
Set DestRange = DestSheet.UsedRange.CurrentRegion
Set r2 = DestRange.Rows(DestRange.Rows.Count + 1) 'Next empty row
For Each r1 In SourceRange.Rows
Set DestRange = DestSheet.UsedRange.CurrentRegion
Set f2 = DestRange.Find(r1.Cells(, 3))
If f2 Is Nothing Then
r2.Value = r1.Value
Set r2 = DestRange.Rows(DestRange.Rows.Count + 1) 'Next empty row
'Replace destination row if ID's match but content does not.
ElseIf Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(r1)), vbTab) _
<> Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose _
(Intersect(DestRange, DestSheet.Rows(f2.Row).EntireRow))), vbTab) Then
Intersect(DestRange, DestSheet.Rows(f2.Row).EntireRow).Value = r1.Value
End If
NextR1:
Next r1
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub