What is the difference between USB On-The-Go (OTG) and USB Host Mode?
In the context of Android devices, the terms are often used interchangeably.

Host mode

USB has two different kinds of endpoint (connected device), like a client-server interface. One device is the computer (or host), and it's in charge: it's the server. All the other devices (the peripherals) are the clients, and can only communicate with the server. Usually, a device can only act in one of those two rôles: it wouldn't make sense for (say) a keyboard to be the host. That's the way the protocol works, and the connectors are designed to make that easier for users: hosts have the rectangular A connector, and peripherals have either the square B connector or a mini- or micro- version.

Host mode is a name for when a device is acting as a host. Every USB connection has exactly one device in host mode. PCs always run in host mode. (You wouldn't usually call it that for a PC, because it's not really a "mode", it's always like that.)

USB-OTG

A phone is a bit different, though. Sometimes you want it to act as a peripheral: for example, so you can plug it into a PC, so the PC can access the phone's storage. Sometimes you want it to act as a host: for example, to connect a physical keyboard or mouse to it. This is why many Android devices now support USB host mode as well as USB peripheral mode: they can act in either rôle. But how can you make this work, when a host's USB socket is different from a peripheral's?

This is where USB-on-the-go (OTG) comes in. It adds an extra pin to the micro-USB socket. If you plug a normal A-to-B USB cable, the device acts in peripheral mode. If you connect a special USB-OTG cable, it has the pin connected at one end, and the device at that end acts in host mode.

This can be a little confusing if one cable has seemingly identical plugs at either end, which do different things. But cables with USB-OTG at both ends are uncommon: it's more common to use an adaptor, which has a host-mode USB-OTG plug at one end, and a rectangular USB-A socket on the other. You can plug a normal USB cable into this adaptor, and it will work normally.

Conclusion

The names refer to two different parts of the USB technology, but they're very similar. After all, if a device "supports USB-OTG," it must support acting in "host mode". The converse is often the case, but not always. Most Android devices that support host mode do so via USB-OTG, but there are a few counterexamples: the original Asus Eee Pad Transformer, for example, has USB-A sockets in its keyboard, allowing it to act in host mode without a USB-OTG cable. And of course PCs support host mode without USB-OTG.

So although the terms are usually used to mean the same thing in the Android world - can I plug a USB stick into my phone? - and for most devices it makes no difference which you're talking about, there is a distinction.