What's the point of MATLAB's scaling array for secord-order-section filters?
Of course an SOS matrix is capable of completely describing the filter including the gain. However, in the Matlab SOS matrix the $b_0$ coefficients are all equal to $1$ by default (if no extra scaling is used), which is a kind of "neutral" scaling (and gets rid of one multiplication per second-order section). The gain factor $G$ is the overall gain necessary to describe the filter in addition to that scaled SOS matrix.

Note that for fixed-point implementations each second-order section should be scaled individually. This can be done with different goals in mind, e.g., to minimize the probability of overflow, or to minimize the quantization noise.