There can be several reasons for defining UD data. For example, the user may want to repack a limited amount of important data into sequential addresses and thereafter only scan this smaller set of data. Especially with serial links, this saves bandwidth and improves response times.
User-definable register can be used if more advanced rescaling and re-manipulating of the regular Modbus register is needed. Many of these features are defined for retrofit purposes and are not needed for normal installations. Some rescaling features are redundant at the moment.