Qual é a diferença entre o método laravel cursor e laravel chunk?

Gostaria de saber qual é a diferença entre o método laravel chunk e o laravel cursor. Qual método é mais adequado para usar? Quais serão os casos de uso para os dois? Eu sei que você deve usar o cursor para economizar memória, mas como ele realmente funciona no back-end?

Uma explicação detalhada com o exemplo seria útil porque procurei no stackoverflow e em outros sites, mas não encontrei muita informação.

Aqui estão os trechos de código da documentação do laravel.

Resultados Chunking

Flight::chunk(200, function ($flights) {
    foreach ($flights as $flight) {
        //
    }
});

Usando cursores

foreach (Flight::where('foo', 'bar')->cursor() as $flight) {
    //
}

questionAnswers(4)

yourAnswerToTheQuestion