Я не разбираюсь в дефрагментации, но я хотел бы поделиться информацией по вашему вопросу. В первой части вашего вопроса MSDN упоминает об алгоритмах дефрагментации в своем блоге:
В Windows XP любой файл, разбитый на несколько частей, считается фрагментированным. В Windows Vista это не так, если фрагменты достаточно велики - алгоритм дефрагментации был изменен (с Windows XP), чтобы игнорировать фрагменты файла размером более 64 МБ. В результате, дефрагментация в XP и дефрагментация в Vista сообщат о разной степени фрагментации на томе. Итак, какой из них правильный? Ну, прежде чем ответить на вопрос, мы должны понять, почему дефрагментация в Vista была изменена. В Vista мы проанализировали влияние дефрагментации и определили, что наиболее значительный выигрыш в производительности при дефрагментации - это когда фрагменты файлов объединяются в достаточно большие фрагменты, так что влияние задержки при обращении к диску несущественно по сравнению с задержкой, связанной с последовательным чтением файл. Это означает, что есть момент, после которого объединение фрагментированных фрагментов файлов не имеет заметного преимущества.
Вы можете прочитать всю статью здесь: Проектирование Windows 7 - Дефрагментация диска.
На вторую часть вашего вопроса у Piriform Docs есть ответ:
Defraggler имеет два разных режима дефрагментации: обычная дефрагментация и быстрая дефрагментация. Быстрая дефрагментация быстрее, но результаты не так оптимальны, как при обычной дефрагментации.
Быстрая дефрагментация работает быстрее, пропуская файлы с определенными свойствами. Они указаны на вкладке «Быстрая дефрагментация» диалогового окна «Параметры».
Правило быстрой дефрагментации по умолчанию - пропускать файлы с фрагментами размером более 50 МБ.
Для лучшего понимания дефрагментации в Википедии есть хорошая страница.