That's a loaded question.
I'll tell you what I use and it works out very well. I use dvddecrypter to rip the DVD (AnyDVD works great too, so stick with that). Then I run that through CloneDVD and select everything I want to keep, usually I get rid of trailers (I hate being forced to wait for my movie to start), extra languages, extras that are lame, etc. I don't use any compression here, I select DVD-DL, it disables the transcoder. Then I run that through DVD-Rebuilder using CCE with a 5 or 6 pass encode using a VBR_bias of 15, Q_prec of 20. It can be a pain to setup the first time, but worth it in the end. There's an installer that makes it easier, its halfway down this page. Make sure AVIsynth is installed before running the installer.
The biggest downfall of this method is probably the sheer time it takes to encode. On my AMD64 3000+ it takes roughly an hour per pass.
CCE is rather expensive too, but there's a Basic edition that goes for $58.
From what I've tested, this by far produces the highest quality video.