Quicksort is a divide-and-conquer sorting algorithm that dynamically divides the array into subarrays rather than using static divisions like Mergesort. It has three steps - divide the array into subarrays separated by a pivot element, recursively sort the subarrays, and combine the sorted subarrays. The algorithm works by picking a pivot element and partitioning the array such that elements less than the pivot are moved before it and greater elements after it. It then recursively applies this process to the subarrays until the entire array is sorted. The performance depends on how evenly the array is divided during partitioning, with best case being a split in the middle and worst case being a skewed division.