Earlier quoted context omitted.
> Md5 is just as fine as any other generic hash function if its being used as a non-unique key MD5 brings the feature that you'll forever be explaining why you chose a function that had already been broken for 30 years when other options were readily available.
Often, its less about picking it for a new project vs having the discussion about how to update an existing one, often with data at rest that needs converting. In the latter case often the hash needs to fit into the existing 128b field size, so one is throwing a good number of the SHA bits away anyway.
Truncating a fixed number of bits does not make a good secure function less secure, other than the implications that the shorter length has on brute-force and collision strength.
In some cases it can even make it even more secure, e.g. SHA-2-512/256.