If your axis is relatively small say under 3', a ballscrew or leadscrew assembly might be easier to implement. With a longer axis, it might be better {for a DIYer] to use rack and pinion. While ballscrews can be far more accurae than rack and pinion, longer lengths tend to necessitate larger diameter screws to overcome sag and whip, and the costs increase since you need larger drive motors and the larger screws, well, cost more. A rotating nut is possible, but then that would be more complicated, which usually means added cost.
Rack and pinion however will usually necessitate gearing down the drive motir to "gain" satisfactory resolution and power. With steppes, great speed can be obtained at the cost of resolution. While backlash can be virtually eliminated simply (though not always easily) with ballscrews, it can be more complicated with rack and pinion. Most any form of gearing would also introduce some form of backlash or position error..