Summary
In BigQuery, STRUCTS are bundles of columns within a single column with a mandatory data type and can contain an ARRAY. ARRAYS are bundles of rows within a single row of the same type. They can't contain another ARRAY directly, but this can be bypassed with an ARRAY(STRUCT). Both can be compared but not ordered or grouped by. STRUCTS are used for related fields, while ARRAYS are used for related lists. An ARRAY of STRUCTS is used for a list of things with multiple known attributes.