Before version vSphere 4.1 access of USB devices attached to the ESX host was not possible. To access an USB device from a virtual machine running on ESX, you had to buy an USB-over-IP device. Such a device has an USB port and a network interface. On the virtual machine a driver is loaded which redirects USB calls over the network to the device. I believe this worked pretty good.
Since vSphere 4.1 USB devices attached to the ESX host can be accessed from a guest running on the host. What about vMotion? Yes, even if the VM is running on another host, the USB device can be accessed. Kind of USB over IP solution, for free. It seems to be working for USB disks and dongles according to this VMware article. Read more about it on http://vstorage.wordpress.com/2010/07/15/usb-passthrough-in-vsphere-4-1/