Ambos
REPLACE INTO e a ON DUPLICATE KEY alternativa sugerida são SQL não padrão da variante MySQL. Portanto, se você o usa depende a) se você está usando o MySQl eb) se deseja estar vinculado a essa variante. ANSI SQL define um
MERGE sintaxe que é mais padrão, se for implementada em sua plataforma