PostgreSQL recovery file syntax, ver 8 vs ver 9
One benefit of the new syntax is that your restore_command doesn't need to implement its own polling for newly arrived log files, and doesn't have to check for failover triggering, because the core code now does that for you.  That means your restore_command only needs to focus on finding and copying the file, which makes it much simpler and easier to get right.  For example, if you need to fetch your archive from AWS S3 storage, for example, you don't want to also need to implement your own polling and failover.

Another benefit is that it integrates cleanly with streaming replication.  So it can use the WAL archive to get caught up, but then switch to streaming so that it stays caught up in near-real-time.  And then goes back to using the WAL archive automatically if it ever falls too far behind.