You can run the stepgen in position mode and not use the PID loop at all,
but its been found that using the PID loop deals better with random latency
spikes.
When using the PID loop, the stepgen is in velocity mode so unless you close the loop
with some P term, the actual stepgen position will drift from the commanded position
due to the small (say 50 PPM) differences in LinuxCNCs clock and the hardware's
crystal oscillator.
Velocity mode without feedback is a bit like telling someone how to get somewhere
by telling them the speed and direction to go at any given time. Unless the speeds
are perfect you wont end up exactly where you should be.