Obrigado Wanderson!
Acredito que ficou claro. Também dei uma pesquisada no manual do PHP.
Lá, eles dão um exemplo que se encaixe neste caso, ou seja, quando o retorno da função for um array que pode assumir múltiplos valores .
Seguem os exemplos:
Examplo #1 Use of return
<?php
function square($num)
{
return $num * $num;
}
echo square(4); // outputs '16'.
?>
A function can not return multiple values, but similar results can be obtained by returning an array.
Examplo #2 Returning an array to get multiple values
<?php
function small_numbers()
{
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>
1º Como bem foi explicado por você, a variável $produtos foi somente definida no escopo da função.
2º Como a função possui o return, o script da função foi encerrado. Portanto, a variável só "existe" e é definida no arquivo de origem que é o banco-produto.php.
Então por convenção e conveniência não há problema em inserir a variável de mesmo com o valor da função, uma vez que a função retorno um array de mesmo nome.
me corrija se estiver errado.