I am not sure if there are better ways, but you can feed a VCR's output into a s-video or composite input on video-input enabled graphics cards and TV tuners.
Basically, you just play the VHS tape and the video sent from the VCR (which would normally go to your TV) is sent to your computer instead. You can then record that input using a DVD compatible MPEG format using video editing / recording programs.
Once you record the video, you may then burn it to a DVD or CDs (VCD), which works on my DVD players.