Bubble sort is a sorting algorithm that iterates through a list and compares adjacent elements, swapping them if they are in the wrong order until the list is fully sorted. It works by repeatedly "bubbling up" the largest value to the end of the list through a series of swaps, traversing the list from the beginning to the end on each pass.