Fragmentation is the situation where allocated memory is stored in non-adjacent chunks. Due to the blocks not being packed close together, the gaps between the blocks remain unused due to size differences. Therefore, although a machine shows as having enough memory, the memory blocks are unusable.
See also Defragmentation.