While += will work, it’s not efficient when it comes to strings.
It involves allocating space for the constant and copying into the original variable, the allocation of space for the new string, copying the existing string into it and then the new string you are appending as well. Then it assigns the newly allocated memory to the variable and releases the memory for the original string.
FString::Printf on the other hand takes a constant determines what formatting needs doing and allocates the space for the whole string and performs the format. There’s no extra allocating and deallocating going on here (except maybe cleanup which happens in both cases)
The other thing, += would only work with FStrings. printf can format numbers too.
The FString::Printf function is almost certainly more efficient. In this case and that is an important factor. Use of printf style formatting is also pretty standard in C++ so it is useful to know as well - MFC also has CString::Format which does the same sort of thing.
That’s not to say never use +=, just consider the implications of doing it this way.