ну вот например ты навел пример с суммой элементов. ты же передаешь промежуточный результат сумму в колбэк. т.е. при первом элементе это первый элемент, при втором 1+2 и т.д. вот сумма в данной итерации и является промежуточным результатом.
что является параметром а, что b. допустим в моем случает 5 - 2 - true, потом 2- 1 -true . не меняется местоположение элементов, когда false, оператор под параметром b занимает 0 индекс, вот примерно может так работает