Вроде как одно и то же, но зачем-то то они по-отдельности то существуют...
Пишу всё что нашёл в интернете, за правильность не ручаюсь.
HttpHandler - глобальный обработчик запросов ко всем страницам приложения, с помощью которого можно "вклиниваться" в различные этапы обработки запроса. Например, при необходимости выполнять установку некоторых параметров. Важной особенностью HttpModule является то, что во время выполнения приложения существует только один экземпляр класса каждого модуля.
HttpModule - обработчик конкретного запроса. В отличие от HttpModule, экземпляры HttpHandler создаются (или получаются из пула объектов) для каждого запроса. Можно назвать HttpHandler "запросо-специфичным", поскольку объект создается под каждый запрос и работает с данными, специфичными для конкретного запроса. Любая ASP.NET страница явзяется HttpHandler.