The flip side of point 2 is that when you resize a matrix every element in the matrix must be copied over to the newly allocated memory area, but in the case of a cell array only a list of pointers needs to copied over. Depending on the size and type of elements you're storing, this might mean cell arrays are much faster to resize.