The difference is that it replacefirst deletes the resources and then creates them from the file that you provided them; while it applytries to directly update in the current active resource only those attributes that you set to it in the file. See in-place updates and destructive updates .
, , apply, , , ; replace .
, apply , , - ; replace, - .
, apply ; , apply ( !), replace.