Important because it affects instruction length and encoding. This suggests a small offset field is sufficient. Most loop branches are backward. Backward branches are usually taken, since they are usually part of loops. Special bits are set by ALU operations as a side effect.
Comparisons leave result in a register, which is tested later.
Similar to b, but allows more complex comparisons in the branch. Sometimes, this is too complex. This determination is complicated by separate compilation. Optimal solution in many cases is to have compiler use both conventions. Implementing sophisticated instructions to do the saving is often in contradiction with the optimal solution.