Wanna know the typical usage …
There’s lots of possible use cases. Really anything that you might use SetGlobalFloatArray or SetGlobalVectorArray can be done with SetGlobalBuffer. You can even setup structured buffers that combine multiple arrays of float and vector values into a single buffer, and all sorts of things. In the past I’ve used it to implement my own clustered forward+ lighting system.
The big advantage of using a buffer vs an array is you can update it from a compute shader, avoiding updating the data from the CPU.