Queues follow the first-in, first-out (FIFO) principle. Common queue operations include enqueue to add an item to the back of the queue and dequeue to remove an item from the front. Queues can be implemented using arrays, linked lists, ring buffers, or two stacks.