After you set up logging in the places you want it, you can control it globally. If you have prints in different places and want to modify them, you have to edit every line to change their behavior.
You can leave debug logging in your code and keep it quiet most of the time, but turn it on when you're trying to find a problem. You can have all the logging go to a different file by changing one line.
If you have a 12 line script, it's easier to throw in a print statement to help debug something than set up logging (but lots of people would).
If you have 5000 lines of code in several modules, you don't want to be fiddling with print statements everywhere (and maybe forget to take some out because the code path isn't run very often and you didn't notice that you left some debugging lines active).
Standard logging formats give you discipline to put useful information in every time. I've been annoyed with production code that generated some logs, but had no indication of what module generated it, or timestamp. If they'd used standard log formatting, all that information would have been there.
You can leave debug logging in your code and keep it quiet most of the time, but turn it on when you're trying to find a problem. You can have all the logging go to a different file by changing one line.
If you have a 12 line script, it's easier to throw in a print statement to help debug something than set up logging (but lots of people would).
If you have 5000 lines of code in several modules, you don't want to be fiddling with print statements everywhere (and maybe forget to take some out because the code path isn't run very often and you didn't notice that you left some debugging lines active).
Standard logging formats give you discipline to put useful information in every time. I've been annoyed with production code that generated some logs, but had no indication of what module generated it, or timestamp. If they'd used standard log formatting, all that information would have been there.