Well, you give the explanation yourself: The size for the outermost array is not always needed, and then C allows it to be omitted.
But my recommendation is to always give the size and then everything is regular and the compiler can use the information for warnings.