Chain, Chain2, Chain3 (how many chains are there?).
There are really only two. CHAIN and CHAIN3 are the exact same command. It is with CHAIN that you can have state triggers, an unlimited number of speakers, transition conditions, actions, transition lists at the end, etc.
CHAIN2 is old, legacy syntax. It only supports two speakers, does not support state triggers or a variety of other things CHAIN allows. Its use is discouraged these days although you'll still find it in some old mods.
What does extern do? Is this just "go to a statenumber in another .dlg file"
Yes. If you're staying in the same DLG, you use GOTO (or + , if you're using the abbreviated REPLY syntax.)