All subs have bias. Darks (normal darks and flat darks) have dark signal in addition to bias. Lights and flats also have "pure" signal in addition to dark and bias.
LIGHT = PURE_LIGHT+DARK_LIGHT_SIGNAL+BIAS
FLAT = PURE_FLAT+DARK_FLAT_SIGNAL+BIAS
DARK_FLAT = DARK_FLAT_SIGNAL+BIAS
DARK_LIGHT = DARK_LIGHT_SIGNAL+BIAS
Ideally you want to divide the pure light signal from lights with the pure flat signal from flats. You want to calculate PURE_LIGHT/PURE_FLAT, that's the calibrated frame. Therefore, the best thing to do is to subtract dark lights from lights and dark flats from flats respectively, removing all of the unwanted stuff before dividing.
If you subtract just bias, you are making an assumption, that dark signal is negligible, i.e. DARK_FLAT_SIGNAL ~ DARK_LIGHT_SIGNAL ~ 0. If you subtract bias only from flats, you are making a further assumption: that the unwanted stuff in the numerator (lights) are negligible but in the deniminator (flats) they are not: LIGHT~ PURE_LIGHT but FLAT ~ PURE_FLAT+BIAS. These assumptions are always wrong from a mathematical point of view (you are always introducing inaccuracy, however small), but may be good enough in practice, depending on sensor type, sensor temperature, sub duration, average brightness of the subject and of course personal taste. That's where opinions tend to differ. Some people like their results without darks, some don't. Even with everything else being the same.