Distribution of hash values
The idea of a hash function is the idea of a random Oracle. For any given input, this Oracle should return a truly uniformly random output. This is ideal of how hash functions work, so any hash function that isn't uniformly random is not behaving the same way as a random Oracle. So yes, hash functions should have uniformly distributed values.

I don't believe it's necessarily an explicit requirement to be uniform, but not being uniform would certainly weaken the strength of the hash. For example, if the hash was a 'normal' distribution, certain outputs would be far more common than other. We could get collisions far easier then.

I'm unfamiliar of any cryptographic hashes attempting to reach a non-uniform distribution as I imagine they would be more vulnerable to collisions and preimage attacks. If you were so inclined, you could hash the values with a known uniform distribution use the output in a non-uniform distribution function.