Имхо, функция ветки develop в том, чтобы другие разработчики, а может и даже сам могли получить последние изменения в других задачах не дожидаясь релиза
Это актуально если, допустим, релиз раз в неделю/месяц/может больше, делается много задач и нужно их подтянуть, чтобы не разруливать потом мучительно конфликты перед релизом
Когда релизы 1-2 раза в день, то ветка develop как правило совпадает с веткой релиза, в чём её польза тут?
В целом вы конечно правы. Но бывают различные ситуации. Например код не обратно совместим с фронотом, а изменения на фронте еще не реализованы т.к. зависят от бэка. И фронту нужно обращаться к какой-то кодовой базе(например develop). Да, конечно это можно организовать без develop-а, но это уже вопрос инфраструктурный