Selection sort is an in-place comparison sorting algorithm where the minimum element from the unsorted section of the list is selected in each pass and swapped with the first element. It has a time complexity of O(n2) making it inefficient for large lists. The algorithm involves dividing the list into sorted and unsorted sublists, finding the minimum element in the unsorted sublist, swapping it with the first element and moving the imaginary wall between the two sublists by one element. This process is repeated for n-1 passes to completely sort an input list of n elements. Pseudocode for the algorithm using a nested for loop to find the minimum element and swap it is also provided.