A linked list is a linear data structure consisting of nodes that are non-contiguously stored in memory, with each node containing data and a pointer to the next node. Key features include dynamic sizing, efficient insertions and deletions, and various types such as singly, doubly, and circular linked lists. Operations on linked lists include insertion, deletion, and searching for nodes with specific values.