Algebras are also nice for implementations. If you can decompose a domain into a few algebraic primitives you can write nice SIMD/CUDA kernels for those primitives.
To your point, I wonder if the 73 distinct transforms were just different defaults/usability wrappers over these. And you may also get into situations where kernels can be fused together or other batching constraints enable optimizations that nice algebraic primitives don't capture. But that's just systems---theory is useful in helping rethink API bloats and keeping us all honest.
They are effectively highly level wrappers over the most primitive operations. High enough level that they can be used from a GUI, rather than code.
It is a balance. Too few transforms and they become to low level for my users. Too many and you struggle to find the transform you want.