As with my other posts, I want to add the caveat that there are others here who know a lot more about this than I do, so take my response with a grain of salt. However, I think it goes like this…
If your system (I think they tend to refer to it as a plant in control theory if you go looking around the Internet for research) is doing what you want it to do, then you do not need to tune the gain.
So let’s say we have a shooter wheel that for whatever magical reason goes to exactly the speed you want it whenever you want it to do that regardless of the external forces on it (projectile, friction, etc), you would not need PID. You would have a 1:1 ratio between input and desired output. I use the shooter because it may be more of a simplistic machine than a drivebase. It has one (or a handful that are all linked) motor(s), and only one output with two possible directions.
If however when you load that system (a projectile perhaps), it slows down, or it takes a long time to get up to speed and/ or then overshoots its target, you may want to investigate PID and Feed-Forward.
With a drivetrain, I am assuming there are always forces that will impede its perfection (friction, wheel-slip, battery voltage drop, etc.). So maybe we want to investigate some PID if we care about exactly how fast, what direction, and/ or how far it is going.
I think I am less clear on feed-forward, but since it is not linear, it may have a greater positive effect on a non-linear system (like a drivetrain) versus a linear one.
This is all conjecture, but it is in general, my rudimentary understanding of how PID works with Feed-Forward on our robots.
Oh, one other thing, there is a difference between PIDing the entire system (robot drive base), and the piece of the system(the wheel). I think this distinction is extra important when you think of swerve (what heading and what speed do I want to move as opposed to what direction and what speed does this motor need to move to get the drivebase to the desired heading, or place on the field as quick as possible).
This is why it is cool that we can have multiple PIDs on one system.
Edit: I attempted to remove the lone F for clarity’s sake as @Oblarg pointed out. I think it creates more confusion than it solves in general.