Merge sort is a sorting algorithm based on the divide and conquer technique, with a worst-case time complexity of O(n log n). It works by recursively splitting the array into halves, sorting each half, and then merging them back together in a sorted order. Developed by John von Neumann for EDVAC in 1945, it efficiently handles sorting tasks through its systematic approach.