rocket launcher is much more well-rounded for dealing with every class and its versatility is what makes soldier a very strong class. direct hit is too extreme, you either miss and you die or it works and you're a hero. also hurts that its only good for focusing on single players as opposed to controlling space and threatening multiple targets.
i only roll direct hit if i feel like i have to be a one man army and take down high health classes like heavies or other soldiers by myself, the increased damage and higher dps helps a lot dealing with them without the help of others or a medic.