PHP cURL vs file_get_contents

¿En qué se diferencian estos dos fragmentos de código al acceder a una API REST?

$result = file_get_contents('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');

y

$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);

Ambos producen el mismo resultado, a juzgar por

print_r(json_decode($result))

Respuestas a la pregunta(3)

Su respuesta a la pregunta