Selection sort is an in-place comparison sorting algorithm that works as follows: (1) Find the minimum value in the list, (2) Swap it with the value in the first position, (3) Repeat for the remainder of the list. It has a time complexity of O(n2), making it inefficient for large lists. While simple, it has advantages over more complex algorithms when auxiliary memory is limited. Variants include heapsort, which improves efficiency, and bingo sort, which is more efficient for lists with duplicate values.