у тебя в третьей строке: define (fib-iter a b count)
функция fib-iter определена как функция 3 аргументов : i элемента, i-1 элемента и счетчика, по которому определяется окончание вызова рекурсии.
в последней строчка она как раз и вызывается с тремя аргументами:
первый аргумент: (+ a b)
второй аргумент: a
третий аргумент: (- count 1)
то есть в последней строке функция вызывает саму себя
подставляя вместо a сумму a и b
вместо b элемент a
и передает третьим аргументом счетчик уменьшенный на 1
....
и пока счетчик не станет 0 - так и будет вызывать саму себя, уменьшая счетчик
как только счетчик станет 0 - рекурсия остановится - последний элемент будет вычислен - он и вернется в результат... хотя почему они возвращают b ? наверное a нужно возвращать? :-)