Are these algorithms an extension of the alpha-beta algorithm, or
Are they completely new algorithms, in that they have got nothing to do the alpha-beta algorithm?
Most of them are extensions of the Alpha-Beta pruning algorithm. For example, Iterative Deepening is almost the same as Alpha-Beta pruning, but automatically keeps repeating the algorithm with gradually-increasing depth limits until some time limit is reached, rather than just running once for a pre-determined depth limit.
Principal Variation Search also still uses Alpha-Beta as a basis, but performs many searches with significantly smaller
[alpha, beta] windows than the standard Alpha-Beta pruning algorithm.
In most cases, these extensions would start out from an existing Alpha-Beta implementation, and build from there with some adaptations in the code. This is not necessarily the case for all of those extensions though, just for most. For example, Transposition Tables are kind of a separate extension that could be plugged into vanilla Minimax, or Alpha-Beta, or Principal Variation Search, or whatever you're using.
On this site, these algorithms fall into one of 4 categories, namely
- scout and friends
- Alpha-beta goes best-first
Does this mean that the alpha-beta algorithm is split into four areas and that they are specialized optimization algorithms for each area?
Those four categories are not mutually exclusive, they're more like... broad "flavours". What they list under Obligatory are some of the more basic extensions that any programmer should probably look into first if they were developing a chess-playing program. The other category are different "flavours", different "broad ideas". For example, everything listed under "Selectivity" is about searching "interesting" or "exciting" parts of the search tree deeper than "less interesting" or "boring" parts. Many of those ideas could be used regardless of whether you're using Alpha-Beta, Iterative Deepening, or PVS, and probably all could be combined with Transposition Tables as well.
How do I even begin to decide which optimized algorithm to pick?
This is really really difficult to decide just based on the names. In theory, which algorithm is the "best" will also highly depend on your specific game, and maybe even hardware. And, in many cases it's not even a choice between mutually exclusive parts; different ideas can be combined with each other in different ways.
The only solution here is really just to do lots of reading, lots of research, try implementing different things to better understand them.