The IF requires a "test", so that is your iserror(Vlookup) portion , if the vlookup fails then the Iserror portion is true, so for the IF formula you then return you "-", if the Vlookup finds its value then the Iserror portion is false, so then you actually do the Vlookup.
I hope that helps explain it for you.