So first, visual studio had that too but the integration with unreal is hit or miss. You can't really do complex conditions.
Second, you lock it behind a conditional and it's much easier to read. Like if you want to ensure the force curve of your jump matches what the float curve you give to the designer is set to then printing out and spot checking a few is much better than using float compares that would be broken in the same way in certain platforms where floating point data is interpreted differently. So you are the data on Windows, it's different on Linux and this you can't just compare it because it matches just like it would in windows.
Third, if you really want you don't print to screen instead of log which if you give a key entry, it will just update it rather than spam your screen.
Overall even the most experienced engineers in the games industry uses printing of the values at times. Debuggers are of course still very preferred for most things.
So first, visual studio had that too but the integration with unreal is hit or miss. You can't really do complex conditions.
Second, you lock it behind a conditional and it's much easier to read. Like if you want to ensure the force curve of your jump matches what the float curve you give to the designer is set to then printing out and spot checking a few is much better than using float compares that would be broken in the same way in certain platforms where floating point data is interpreted differently. So you are the data on Windows, it's different on Linux and this you can't just compare it because it matches just like it would in windows.
Third, if you really want you don't print to screen instead of log which if you give a key entry, it will just update it rather than spam your screen.
Overall even the most experienced engineers in the games industry uses printing of the values at times. Debuggers are of course still very preferred for most things.