Nie w optymalizacji ale w działaniu przedewszystkim. Echo ci wyświetla dane (przekazuje te dane do przeglądarki), a return te dane przekazuje, dzięki czemu dane wyjściowe z jakiejś funkcji możesz wykorzystać dalej, czy przypisać.
Kod
<?php
function foo()
{
echo 'some content foo';
}
function bar()
{
return 'some content bar';
}
$var = foo(); // wywali ci błąd
$var_2 = bar(); // do zmiennej została przypisana wartość zwrócona przez funkcje, dzięki czemu można dalej operować na tej wartości.
Ogólnie to są podstawy, musisz poczytać o takich rzeczach. W funkcji z kilkoma wyjątkami nigdy nie używaj echo, później będziesz potrzebować daną wartość wykorzystać dalej i będziesz miał problem bo będzie czekać cię przerabianie kodu, który został dostosowany do funkcji z echo.