Diferença entre devoluções e impressão em python? [duplicado

Esta pergunta já tem uma resposta aqui:

Como retornar a saída de uma função diferente de imprimi-la? respostas

Em python, não pareço entender a função de retorno. Por que usá-lo quando eu pude imprimi-lo?

def maximum(x, y):
    if x > y:
        print(x)
    elif x == y:
        print('The numbers are equal')
    else:
        print(y)

maximum(2, 3)

Este código me dá3. Mas, usando return, ele faz exatamente a mesma cois

def maximum(x, y):
    if x > y:
        return x
    elif x == y:
        return 'The numbers are equal'
    else:
        return y

print(maximum(2, 3))

Então, qual é a diferença entre os dois? Desculpe pela pergunta do mega noob!

questionAnswers(5)

yourAnswerToTheQuestion