We resolve the 3D trajectory and the orientation of individual cells for extended times, using a digital tracking technique combined with 3D reconstructions. We have used this technique to study the motility of the uniflagellated bacterium Caulobacter crescentus and have found that each cell displays two distinct modes of motility, depending on the sense of rotation of the flagellar motor. In the forward mode, when the flagellum pushes the cell, the cell body is tilted with respect to the direction of motion, and it precesses, tracing out a helical trajectory. In the reverse mode, when the flagellum pulls the cell, the precession is smaller and the cell has a lower translation distance per rotation period and thus a lower motility. Using resistive force theory, we show how the helical motion of the cell body generates thrust and can explain the direction-dependent changes in swimming motility. The source of the cell body precession is believed to be associated with the flexibility of the hook that connects the flagellum to the cell body.