How is a sponge construction better than cycling the output of a hash back to the input?
why not have $r$ be the whole block?


Because you'd essentially have no security.


In the absorbing phase, the attacker could set the intermediate state to whatever he wants.  For example, if the current state is $c_{n-1}$ and the attacker wants the next state to be $t$, he computes $p_n = c_{n-1} \oplus f^{-1}(t)$; this allows a trivial preimage attack.  And, even if $f$ wasn't invertible, this would still allow a trivial second preimage attack.
In the squeezing phase, if the attacker knows the value $z_0$, he could trivially compute the rest of the hash $z_1, z_2, ...$