Secondo me hai le idee un po' confuse. Partiamo dal principio, se scrivi una funzione è perchè essa deve eseguire un determinato lavoro che in questo modo viene ragruppato e centralizzato all'interno di una funzione richiamabile in più punti dell'applicazione evitando di dover duplicare porzioni di codice. Premesso ciò una funzione può o meno restituire un valore a seconda dello scopo per la quale essa è stata scritta. Ad esempio una funzione che esegue un calcolo matematico restituirà il risultato di tale calcolo, una funzione che elabora una stringa retituirà la stringa elaborata. Quindi, non si tratta di dover o meno restituire un valore, dipende dallo scopo per il quale è stata scritta la funzione. Nel tuo caso specifico, se hai solamente bisogno di stamare a video una stringa puoi benissimo non restituire nulla inserendo l'echo direrramente all'interno della funzione. E' inutile e dannoso ai fini applicativi inventarsi cose strane quali le variabili globali o quant'altro.