Arrays allow storing multiple values of the same data type under a single variable name. An array has a fixed size that is declared and can contain either one dimension (1D) or multiple dimensions (2D). 1D arrays contain a single row while 2D arrays contain multiple rows and columns. Arrays provide advantages like efficiently representing matrices and implementing other data structures but have disadvantages like fixed size meaning memory may be wasted.