Linked lists are a data structure made up of connected nodes, where each node contains data and a pointer to the next node. The three basic operations on linked lists are insertion, deletion, and traversal of nodes. There are variations like circular linked lists where the last node points to the first, and doubly linked lists where each node points to both the next and previous nodes. Linked lists have advantages over arrays in that they are dynamically sized and nodes can be easily inserted and deleted without moving other elements.