Insertion sort works by iterating through a list and inserting each element into its sorted position. It makes space by shifting larger elements to the right. For a randomly ordered array, insertion sort performs on average N2/4 key comparisons and exchanges in the worst case. However, it performs very efficiently on already sorted or partially sorted lists, requiring linear time. Insertion sort is well-suited for datasets where elements are mostly sorted or for very small lists.