Is USB debugging needed when flashing stuff? I mostly worked on Samsung phones, but I also had a shot on some cheap MTK phones.

Over the course of rooting/flashing roms/flashing kernels I built myself/using Odin (Samsung)/etc. on a lot of phones, not once did I need to change any USB debugging option, except on my first try when I was still new to Android.

But, once I began learning how Android works (and becoming an Android dev in the process), turning on USB debugging didn't make sense when interacting with the phone outside of Android, because as far as I know, USB debugging is only soft. That is, the phone hardware didn't care, but the OS requires it for debugging purposes (ADB access).

So, basically, when you need to flash something in recovery mode OR via a tool (e.g. Odin, Heimdall), you don't need USB debugging. But, when you are talking to the OS (logcat, etc.), USB debugging makes sense.

So, why do almost all of the online tutorials that I revisited require turning on USB debugging even though you're outside of Android? Is there something I don't know that needs it? Or are they naive and simply followed the leader (copy-pasted another tutorial into their own blogs)?
It is never really required for anything related to flashing kernels and Roms. However, you can do other things with adb that are more related to modifying the existing system. However in the case of most tutorials, I think its what Andy Yan said, it's just for copy paste