Most missiles that fly through the air use either rocket engines or jet engines , but neither of these work very well underwater. 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. 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.
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. Inc. All rights reserved.