Sometimes, you need a delayed slave for disaster recovery purpose. Suppose a disastrous statement (such as a DROP DATABASE command) was executed on the master. You have to use point-in-time recovery from backups to restore the database. It will lead to a huge downtime depending on the size of the database. To avoid that situation, you can use a delayed slave, which will be always delayed from the master by a configured amount of time. If a disaster occurs and that statement is not applied by the delayed slave, you can stop the slave and start until the disastrous statement, so that the disastrous statement won't be executed. Then promote it to master.
The procedure is exactly the same as setting up normal replication, ...