What is USB-host? A USB host device acts as a host to other slave devices. When a USB flash drive connect to a desktop computer, the computer acs as a host, and the USB flash drive acts as a slave device.
Toshiba G900 acts as a USB host connected to a USB keyboard
Most of the time, smartphones acts as slave USB devices, to be connected to computer for data transferring. But some of smartphones have the ability to acts as host USB devices, that is, USB flash drive, SD card reader, keyboard and other USB devices may be connected to these phones. Sometimes, this feature is called USB On-The-Go (or USB GTO).
You can do lots of things with USB-host. Connecting to a SD card reader, you can browser photos on the SD card from your phone; connecting with a keyboard, you can type SMS faster; connecting to a printer, you can print the photo you take with your phone directly without a computer; or you may just connect a USB gamepad to you phone and enjoy a nice day.
You will need a smartphone that supports USB-host, combining the right system (firmware / rom) to make the function work, a USB-host cable for connecting the phone and your USB devices, and lastly, a proper device driver for the os system on your phone.
The hard part is to get a smartphone that does support USB-host. Because the system, firmware, and the USB-host cable are sometimes come together with the phone itself. In most of cases, drivers for common USB devices, e.g. USB flash drive, card reader, usb keyboard, mouse... are presented with the original system too, but for gamepad, you may need spend some time to google.
I am going to list the smartphones supporting USB-host at the end of this article.
If you want to connect more than one devices to your smartphone, for example, a keyboard and a mouse, you can use a USB hub.
You can buy a USB-host cable from markets or eBay. Please take care that there are different type of plugs. Most of smartphones use micro-USB or mini-USB sockets.
Or you can DIY a USB-host cable:
Open a mini-USB or micro-USB plug, and connecting ID pin to ground pin
Then connect this plug to a Standard-A receptacle. You just need to connect the wires with the same color.
When a USB device connect to your smartphone, it will consume the power from the phone. In some cases, if the USB device, for example a USB hard disk drive, needs too much power, it may not work properly. You need to find a power adapter for the it. It can be done by using a USB hub that comes with external power supply.
an Amoi phone acts as a USB-host connected to a flash drive
Here I list some mobile phones that support USB-host. By on mean this list is complete. Leave me a comment if you know any other phone have the capability.
Nokia N810(can not make phone call, not really a phone), n900, N8, N9, E7, C7, E6, 808 PureView
Toshiba TG01, G900, G910, G920
O2 XDA Flame, Vista, Graphite
Amoi E850, E860, N800, N810, E8, N7, N5
Eten M600, M600+
Google Nexus One / ZTE Blade / HTC G1, Desire, Incredible ( with hacking, see this)
Samsung Galaxy S II, Samsung Galaxy S III, Samsung Galaxy Note
Dell Streak (mini 5) ( check here for details)
As far as I know, iPhone does not support USB-host, but there are USB adapters (support usb-host) on the market.