The first statement will always perform the UPDATE and only perform the INSERT if the IF NOT EXISTS evalutates to TRUE.
The 2nd statement will only perform the UPDATE if the IF NOT EXISTS statement evaluates to FALSE and only insert the records if it evalutes to TRUE.
In summary, the first statement will insert the missing record and the immediately update it. This will provide the correct result, but it is processing the same record twice, which is pointless and creates unnecessary overhead in terms of processing. The 2nd approach is definitely correct, as it only updates existing records and only inserts new records, so no duplicated effort.