Insertion sort is often recommended for small datasets (around 30-40 elements) despite its worst-case time complexity of O(n²) because it involves less overhead compared to more complex algorithms like quicksort and merge sort, which have better average-case complexities of O(n log n). The discussion highlights that while O(n log n) is theoretically faster for larger datasets, the constant factors and overhead associated with quicksort and merge sort can make them less efficient for smaller arrays. Specifically, each step of quicksort typically requires more operations than insertion sort, and the overhead from managing temporary variables and function calls can slow down the more complex algorithms when dealing with fewer elements. The conversation also clarifies the calculation of comparisons in merge sort, emphasizing that while it has a consistent O(n log n) complexity, the actual number of operations can vary based on the merging process. Overall, the choice of sorting algorithm can depend on the size of the dataset and the associated overhead of the algorithm's implementation.