This is done to introduce an additional step to protect against a hash, which may begin to produce the same or similar output if iteratively applied directly to the result of the same hash. This additional step is independent of the implementation of the hash and acts as another step in the re-hash itself that will not hurt. Such precautions are not necessary for reliable hashes - but you never know beforehand if any hash algorithm has an unknown flaw.
source
share