Shared fields are useful when fields are semantically equivalent in different data types.
Two fields of the same data type may often have different meaning. For example, the Amount field (type Integer) may mean the amount of item in stock when created to describe the Warehouse data type and may mean the borrowed amount when created to describe the Loan type.
However, the Surname field (type String) has the same meaning in data types Contact person, Employee or Lead. In this case, a shared field Surname could be created and then added to corresponding types on Data Type details page.
Shared field behaves like a regular field but gets the same ID in all data types.
Shared fields are easier to translate (you only translate them once) and they could be used for tabular display of objects belonging to different types.