Как метод массива sort, сортирует элементы массива?
Потому что так определена функция сортировки
compareFn(a, b) return value 	sort order
> 0 	sort a after b
< 0 	sort a before b
=== 0 	keep original order of a and b
Для чисел подходит как раз разница
Как устроена сортировка массивов (на англ.) в разных движках.

Часто используется алгоритм "QuickSort" (быстрая сортировка).