A conditional branch is a jump instruction with a test. If the condition holds, the PC is loaded with the target (the branch is taken). If not, nothing happens and the program carries on to the next word (not taken).
Tiny8's conditional branch is JZ a (opcode 6): if the zero flag is 1, PC ← a.
Paired with SUB, it makes comparisons. To test whether two values are equal, subtract one from the other; if the result is 0, Z = 1 and JZ jumps. It also ends loops: count down with SUB, and JZ out when the count hits 0.
In hardware, JZ's E1 sets PCsrc = 1 and drives LdPC with Z. When Z = 0, no signal is asserted, but the cycle still passes. So JZ takes 5 cycles taken or not.
A not-taken JZ doesn't add 1 to the PC again. The PC was already advanced during fetch, so it already points at the next instruction.