Unmount removes the "Datastore" from the Host.
Detach removes the "Device" or as I like to think the "Path" to the Datastore.
This was originally brought in to prevent a possible APD(All Paths Down) Loss scenario. Cormac Hogan has a great blog on it here :-
detach | VMware vSphere Blog - VMware Blogs
All the Best !