Selection sort is a simple comparison-based sorting algorithm that repeatedly selects the smallest element from the unsorted part of the array and swaps it with the element at the beginning of the unsorted part. In the worst case, for each pass of the algorithm, the smallest remaining element needs to be found by iterating through the unsorted part. This requires n-1 comparisons in the first pass, n-2 in the second pass, and so on, resulting in a quadratic time complexity of O(n^2).