Одно из отличий состоит в том, что Cmd+K очищает буфер прокрутки, а также экран. Ctrl+L только очищает экран, эффективно перемещая то, что на нем "вверх", в буфер прокрутки.
Другое отличие состоит в том, что Ctrl+L выполняется процессом, выполняющимся внутри терминала. Например, bash очистит экран и перерисовает приглашение, включая все незавершенные команды. Другие программы могут ничего не делать или обновлять экран, не очищая его.
Cmd+K, с другой стороны, выполняется самим Терминалом, независимо от того, что выполняется в окне, поэтому он может скрыть вывод из программы.
Есть два ярлыка (или больше), потому что вы взаимодействуете с двумя программами, Терминалом и любым процессом, выполняющимся внутри него. Я бы не сказал, что это типично для OS X. Скорее, это обычное явление в любой многоуровневой вычислительной среде. Вы должны запустить (только) DOS (без TSR), чтобы создать среду, в которой все сочетания клавиш интерпретируются одним приложением. Но поскольку два ярлыка в этом случае делают разные вещи, перекрытие действительно только поверхностно. Например, Cmd+w и Cmd+q могут показаться одинаковыми для некоторых пользователей, но на самом деле они разные. То же самое верно для Ctrl+L и Cmd+K.