1) Linked lists are a data structure that store elements in individual nodes that are connected to each other using pointers. This allows for dynamic memory allocation as opposed to static allocation in arrays.
2) The basic operations on linked lists include creation, insertion, deletion, traversal, searching, concatenation, and displaying the list. Insertion and deletion can be done at the beginning, middle, or end of the list.
3) Linked lists are useful for applications that require dynamic memory allocation, like stacks, queues, and storing objects that may vary in number, such as images to burn to a CD.