We use many workflows that copy certain properties from one object to another. Of course one could open all associated objects and read the info from there, but especially if you need a lot of these, this slows down people considerably. For example imagine somebody has to prepare a phyiscal shipment and needs multiple properties from deal, contact and company. Having them all copied into a "fullfillment" property group saves a lot of time.
The problem is, we cannot update these properties if for example the contact person changes, because workflows do not support reenrollment upon "known associations". We also have other use cases where we would want to make updates every time an object is being reassociated.