You may look into Wikipedia or short summary for students. Everybody says that there are two instructions for the same thing. But nobody tells why?
Branches (b) use a PC-relative displacement while jumps (j) use absolute addresses. The distinction is important for position-independent code. Also, only jumps can be used for indirect control transfer (jr, using a register value).
b
j
jr