A hash allows more efficient comparisons between potentially large data values - in joins for example. i.e. the comparison of HASH(LargeObjectA)=HASH(LargeObjectB). If the hashed values are documents in a table of a document management system for example then it may be more efficient to compare hashes than documents.
Most DBMSs have limits on the storage size of a key, so a hash may be one alternative workaround for implementing larger keys.
Hashes can also be used to optimise storage by splitting data into logical partitions that are evenly distributed across a data set.