Merge sort is a sorting algorithm that works by recursively dividing an array into two halves, sorting each half, and then merging the sorted halves into a single sorted array. It has a time complexity of O(n log2n) and requires double the storage space of the original array. The key aspects are dividing the array, sorting the sub-arrays, and merging the sorted sub-arrays back together.