Borrowing contacts in FreshFlow means that, for a certain period of time (which you set), selected contacts are lent to another FreshFlow account that's in the same structure as you. During that time, you won’t have those borrowed contacts available.
Sharing means that the selected contacts in the database you want to share with a user in the same structure will be visible to both of you for the chosen time (or indefinitely). Unlike borrowing, your contacts won't disappear.
Transferring contacts in FreshFlow is permanent. The contacts you choose to transfer go to the selected user in your structure, and from then on, only they will control those contacts.