В книгах по алгоритмам это не всегда упоминают, а зря. Merge sort нужен когда исходные данные в виде блоков, более одного. И каждый блок достаточно большой - может даже почти как объем ОЗУ у вас в компе. Например, по 64 гига. И кол-во блоков - 10. И суммарный объем инфы - 640 гиг. Тут-то и поможет merge sort. В Unix-ах: sort -m, это оно и есть. Юзая комп с 64 гига ОЗУ, подаете на вход 10 файлов по 64 гига, и sort -m читает их параллельно. Смысл в том, что вначале большие блоки отсортировать (любым) алгоритмом сортировки (просто sort), а потом юзая merge sort собрать их в кучу. В былые времена этот алгоритм был более востребован, потому что рабочей памяти было очень мало. Но и сейчас тоже, бывает, нужен.