В первом случае две ссылки cur и dummy указывают на один и тот же объект ListNode(0). В случае если ListNode(0) это мутабельный объект то изменения в cur приведут к изменению в dummy и наоборот. То есть создается один объект и два указателя на него.
Во втором случает создается два объекта с идентичным значением. И к каждому по указателю. Я на пример списков сейчас продемонструю.
l1 = l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он изменился тоже:", l2)
а теперь второй кейс
l1 = [1,2,3]
l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он не изменился:", l2)