cURL - это процесс на стороне сервера. Это означает, что он будет вызван до отображения страницы и не имеет отношения к возможностям клиента.
AJAX, однако, является вызовом на стороне клиента. это означает, что он не будет выполнен до тех пор, пока клиент не загрузит страницу (или, по крайней мере, этот фрагмент кода не будет просмотрен и выполнен, но обычно это происходит в document.ready).
Если вы хотите получить информацию и немедленно отправить ее пользователю, тогда cURL - ваш лучший выбор. Если вы хотите выполнить прогрессивную загрузку (сбросить страницу, а затем извлечь контент для «плавной» загрузки для пользователя), тогда AJAX - лучший выбор. Имейте в виду, что, хотя в наши дни это тривиально, AJAX может быть отключен в случае расширения NoScript в FireFox.
При этом источник выполнения cURL будет на сервере. Источник запроса AJAX будет для каждого клиента. Ни один из них не обеспечивает безопасное средство обнаружения (на стороне сервера), чтобы узнать, кто что отправил (поскольку заголовки могут быть изменены).