Wave links are associative geometry copies, from part to part. I.e copy this body/ sketch etc from this partfile to this partfile. The copy is associative to the master.
Depending on your license, there are/can be limitations on how you can copy.
Expressions is simply reading or pushing expressions between parts in an assembly, to achieve associativity in expressions.
A Macro is a way of replaying a sequence of button clicks in NX.
A Journal can be said to initially be the same with the difference that the sequence is recorded in a general programming language such as .vb or C++ etc.
A journal can be extended with programming into a "real" program.
Regards,
Tomas