When using SCSI devices, the path is clearly defined based on the SCSI ID of the controller, the port that the device is connected to, etc.
SATA/SAS drives do not have this luxury, as they are not defined on a chain. This causes some confusion, as when /dev/sda comes up next time, it may be /dev/sdc.
dev-mapper uses a different, non-volatile ID such as UUID or disk label (contained in metadata) to keep disk paths consistent, through its abstraction.
Basically, the short version is:
To make sure that your devices are named and in a consistent path, dev-mapper handles the devices so that your / is found properly each bootup and is not confused with /tmp or some other file system on another device.