Одна из возможных причин, это так называемая теорема об отсутствии бесплатных обедов "no free lunches theorem" - которая говорит, что не существует и не будет никогда существовать самого лучшего алгоритма для решения ВСЕХ задач. Для разных задач могут лучше работать те или иные алгоритмы.
Это может объяснить разнообразие.
Другая причина это классификация алгоритмов по:
скорости работы
интерпретуемости
качеству предсказания
....
Разные алгоритмы имеют разные аспекты по этим параметрам. И ученый или инженер выбирает алгоритм исходя из своих целей и возможностей