Quicksort is a divide-and-conquer sorting algorithm that has average case performance of O(N log N). It works by recursively dividing the array into two partitions based on a pivot value and sorting them independently. While quicksort's average case is efficient, its worst case is O(N^2) if the pivot choices are poor, though this seldom occurs in practice with randomization techniques. Quicksort is generally faster than mergesort due to its simpler in-place partitioning avoiding extra data movement.