Ответ 1
MurmurHash (и, соответственно, CityHash) разработаны как универсальные, небезопасные хэши. Наиболее частое использование для них - это ключ в хэш-таблице, но также существуют другие приложения, такие как Bloom Filters.
Основными критериями для таких хэшей являются то, что они быстро генерируют, но хорошо распределяются, чтобы избежать горячих точек в хэш-таблицах и т.п. Первая часть исключает более медленные функции безопасного хэширования, а вторая (избегая горячих точек) исключает большинство тривиальных функций, таких как суммирование или xoring байтов вместе, что делает дизайн быстрого, но хорошо распределенного хэша довольно сложным.