Даже если не возникает задач связанных напрямую с алгоритмами, подобного рода знания необходимы для понимания каким образом функционируют встроенные в язык средства + программист должен решать любые возникающие задачи, в этом и заключается такое понятие как профессионализм. Например вам нужно будет написать элементарную рекомендательную систему либо не классическую сортировку каких либо сложных объектов... (как частные примеры)