Can apps use USB communications without USB debugging? This question is from a user's perspective, but it's about whether or not developers can accomplish this.

I recently installed DroidCam to use my phone as a webcam for my computer. It works either via LAN or via USB. However, to use it via USB, the user must enable USB debugging on their device, and the phone app communicates with the PC app through ADB.

This is odd to me. Is this the only option developers have for Android-app-to-PC-app communication via USB? Or is there another way that doesn't require USB debugging, and doesn't expose the user to the security risks inherent with USB debugging?

The app developers' guide to setting up USB communications is here.
I would assume that the reason for the requirement to enable ADB for the USB connection is that the used app transmits the video data via IP.

By default Android devices don't support IP traffic via USB. Only via ADB it is possible to establish an IP communication between Android phone and PC through USB (using port forwarding - a feature provided by ADB).

Apps can make use of the USB without ABD however the development is way more difficult and the chance that it does not work on certain devices is high. Comparing it with a connection via ADB the latter is easier to establish, works reliable and does not require extra development work on Android side. Hence it is the simplest available solution.