A torpedo is essentially a guided missile that happens to "fly" underwater (see How Cruise Missiles Work for details on missiles). A torpedo therefore has a propulsion system, a guidance system and some sort of explosive device. Torpedoes can travel several miles on their way to the target, and therefore they need a propulsion system that can run for 10 to 20 minutes.
Most missiles that fly through the air use either rocket engines or jet engines, but neither of these work very well underwater. Torpedoes use one of two techniques for propulsion:
We don't encounter too many fuels that contain their own oxidizers in our normal lives for two reasons. When a fuel has its own oxidizer it tends to make it explosive. Dynamite, for example, has its own oxidizer and it is quite explosive (see Question 397 for details on dynamite). Rocket engines have to carry their own oxidizer. But because we normally run engines in the air, which has a good supply of oxygen, carrying the oxidizer means extra weight and hassle which is unnecessary.
- Batteries and an electric motor -- This is the same technique that any non-nuclear submarine must use when running underwater.
- Engines that use special fuel -- Most engines that we are familiar with, like car engines and jet engines, draw their oxygen from the air around the engine and use it to burn a fuel. A torpedo cannot do that, so it uses a fuel that either does not need an oxidizer, or it carries the oxidizer inside the torpedo. OTTO fuel (see the links below) has its own oxidizer mixed with the fuel. Hydrogen Peroxide (as discussed on this page) does not need an oxidizer.
Here are three interesting links: