Reassigning a reference points it to a new object, leaving the old object unchanged.
Reassigning an object reference changes which object the variable points to. In a store model, if a Product reference in CartItem is reassigned, the CartItem now refers to a new Product, but the old Product remains unchanged unless no other references exist.
Additional Notes
What happens when you reassign an object reference?