If you haven't read it I would recommend looking at my tutorial on using the advanced random plugin. It doesn't cover the complete feature set, but it's a good starting place.
A "permutation" refers to an arrangement of values. Hence a "permutation table" is an "table" / "array" /"list" of values that have been rearranged. In this case we are "shuffling" them, so arranging them in a random order.
It has 2 main uses that I have come across. The first is to produce a non-repeating random sequence of values like your trying to. The second is when you wish to associate a value with a random value in a repeatable way. "Perlin noise" uses a permutation table to give specific "random" values for a location.
Probability tables are basically for doing random drops in games. You can specify a value ( string or number ) and the chance it will be chosen. Then the expression for it will choose one of the values for you.
Octaves are related to a concept called "fractional brownian motion" which we use with the various "noise" algorithms to improve the quality. Each octave is an additional layer of noise that is applied on top. There's some diagrams demonstrating it in the tutorial.
Gradient are linear gradients with support for multiple value stops. They support both colours and values.
All the features have notes and explanations on the manual page, but the ideas that the Advanced Random plugin cover tend to be a bit more complicated than others.