Linked lists are data structures that store items sequentially by linking each item to the next. Unlike arrays, linked lists do not have a fixed size and can expand or reduce dynamically. They are more memory efficient than arrays but items cannot be accessed directly by index and must be traversed sequentially. Items can be inserted or deleted by changing the pointer links between items, and added to the beginning, end, or between other items in the list.