He's trying to not show file extensions. If somebody requests "/index.php", the first rule redirects them to "/index/". Then, the second rule points "/index/" to "/index.php". The key is that the first rule actually redirects.
This doesn't do exactly what you want, but should only require a small amount of work. The basic principle is matching the redirect rule against the original request header to avoid the inifite loop. This example redirects all requests for ...something/index.php to ..something/.