Selection sort is an algorithm that sorts a list of elements by repeatedly finding the minimum element from the unsorted part of the list and swapping it with the element in the current position. It does this by iterating through the list from beginning to end, selecting the minimum element at each iteration and swapping it into place. The time complexity of selection sort is O(n^2) in both the average and worst cases, making it inefficient for large lists.