In order to run Wordpress on my low spec VPS, I needed to find out a way to run it without MySQL so I try to install PDO plug in to Wordpress.
It is very easy step to set up since there is a plug in to make it come true. Personally it is not nice to have MySQL daemon running for just Blog used for personal web page or even corporate site. Besides SQLite is faster.
The purpose for using those 2 syntacs is the same, "update a record if the record exist, otherwise insert a record."
But they work slightly in different way.
REPLACE INTO will replace record as it reads. When the PK is used to search record, the record will be simple updated.
But if other unique keys than PK is used, the record will be deleted and insert a new record. It means it will generate new auto number if the key is set to auto_increment.
On the other hand, INSERT ON DUPLICATE KEY UPDATE will simply update all the time.
Both are very useful unless you use them in wrong way.