What does it do? May someone explain with examples?

“Runs when the weapon is dropped or picked up by a new player.”

function SWEP:OwnerChanged() print( self.Owner:Name() ) end

Prints the new owners name on pickup.

So you said when it is dropped OR picked up? so it will also print when dropped, and again when picked up?