Merge sort is a divide and conquer algorithm that works as follows: 1) Divide the array to be sorted into two halves recursively until single element subarrays are reached. 2) Merge the subarrays in a way that combines them in a sorted order. 3) The merging process involves taking the first element of each subarray and comparing them to place the smaller element in the final array until all elements are merged. Merge sort runs in O(n log n) time in all cases making it one of the most efficient sorting algorithms.