file_get_contents сложновато передавать и получать куки и др заголовки. file_get_contents для POST запроса тоже выглядит многословно, уже наравне с curl. Не очень хорошее поведение при 4xx 5xx ошибках и тд. Хорошей практикой будет использовать file_get_contents только для локальных файлов.