
Originally Posted by
jacobrv
Coming from somebody (me) who has actually used USB debugging and ADB, and written an android application:
Having USB debugging enabled allows your phone to accept connections from ADB (Android Debug Bridge). ADB is a tool that you can run on your computer to connect to a terminal on your phone via USB. This allows you to type commands on your computer and have them run on your phone. This can also be done with scripts. For example, when compiling an android application in Eclipse (a software development suite) a script will run that will send the newly compiled application to your phone and launch it automatically.
So, if you are developing an android application or need to use ADB for some other reason, turn USB debugging on. Otherwise leave it off. It does NOT debug your files that you put on. As for the phones filesystem, raidzero was right but I don't think it was clear enough. You can access the SD card without USB debugging, but not the internal storage. With ADB (which requires USB debugging) you can send a command to pull a file off the phone's internal storage but you can not see the internal storage like it was a thumbdrive. USB debugging is meant for people who know what it is. If you have to ask, you should turn it off.