XMLHttpRequest (или ActiveXObject в IE) - это то, что позволяет Javascript делать HTTP-запросы. Он был создан, чтобы иметь возможность извлекать данные в Javascript без необходимости изменять страницу / обновлять браузер.
Существуют не-javascript способы извлечения данных без обновления страницы, но если вы используете Javascript, XMLHttpRequest - это путь. Многие библиотеки упростили использование этого вызова, реализовав в своих библиотеках функции ajax (например, jQuery.ajax ()), что заставляет большинство людей даже не осознавать, что XMLHttpRequest является основным вызовом, стоящим за ним.