usbfs is a virtual filesystem that exposes hardware-level information about USB devices, in much the same way that /proc exposes information about running processes (and some other system information). usbfs is central for USB to work on OSes that use the Linux kernel (including Ubuntu), but it infrequently fails, so is often not widely discussed.
The USB device filesystem is a dynamically generated filesystem, similar to the /proc filesystem. This filesystem can be mounted just about anywhere, however it is customarily mounted on /proc/bus/usb, which is an entry node created by the USB code, intended to be used as a mount point for this system. Mounting in other locations may break user space utilities, but should not affect the kernel support.
Source:The Linux USB sub-system