I usually explain it something like this.
If you raise your arm then bend your elbow you are driving the rotation from the roots of the joints. First your shoulder joint rotates to raise your upper arm, taking your lower arm with it, then your elbow joint rotates to move your lower arm. Your hand goes along for the ride and its final location depends on how the joints above it rotate. This is FK (Forward Kinematics) because the motion is driven forwards from the root of the bone chain to the tip.
In IK (Inverse Kinematics) the motion is driven from the tip to the root. For example, if I grab your hand and forcibly move it up near your head - this will cause your elbow and shoulder joints to rotate as a result of your hand being moved. Your hand goes where my hand tells it to go and drives the rotations up to your shoulder. This is why traditional IK uses targets - they are what determine the positioning of the end bone and Blender does it’s best to rotate all the other bones into a logical position with respect to any other constraints they have to obey.
FK is the default so it doesn’t really need much of a tutorial, it’s pretty intuitive. Rotate one bone, rotate another and so on until things are how you want them. Except for the root bone in a chain, the bones can’t be “moved”, only rotated (and scaled). This is why I think FK is all you need for your guns.
As far as I can see, you could probably just do this with parented objects and no bones. Just move the centre of rotation for the gun barrels to the pivot point at the base. If you want to use bones I think you only need two bones in an “L” shape (or upside-down “L”) with the joint at the base of the guns. Parent the turret to the vertical bone and the guns to the “horizontal” bone and use transform locks to prevent wrong rotations.
A Track-To constraint would be useful if it really matters that the guns point at a specific target - otherwise it would probably be more effort than its worth.
As ondrew said, you could also use Action Constraints to make predetermined animations that can be controlled in varying degrees by moving a “lever” or something as you do the real animation.