Consider a closed-loop spindle controller driving a VFD, where voltage in = speed out.
P-gain alone won't work. As soon as the spindle is at speed, then the P-output is zero, and the VFD demand is zero. So, you need a high gain, and are always just enough below the setpoint to give the necessary voltage output. (if it is 10V = 1000rpm and you want 500rpm, then with a P-gain of 1 you will have the output of 5V when the actual speed is 999.5 rpm, but that is likely to be too high a gain to be stable. Generally in closed-loop spindle control you end up using the I-term to provide a constant value for the P-term to modify.
FF0 would let you pre-program the speed/voltage factor in, then the P, I and D terms be small modifiers to that, so the gains can be lower, and the loop stability higher.
When I talk of the mathematical "order" I mean in the sense of time derivatives.
The closed-loop spindle is velocity-result & velocity command. A motor/tach machine is position-result and velocity command. A torque-mode servo machine is position-result and acceleration command (neglecting friction) a stepper system is position-result and position command.
So, FF0 would be useful in velocity-velocity or position-position systems, FF1 in position-velocity, and FF2 in position-acceleration systems.