What is the difference between reassigning and sharing?
In reassigning the ownership of the lead/contact/deal is transferred to the new user.
In sharing a lead/contact/deal the new user will be able to track all the information/updates pertaining to the lead/contact/deal and also he can perform actions/tasks on the entity. But he will not receive the ownership of the lead/contact/deal.