Qual é a diferença entre uma sub-rotina e uma função? [duplicado]

Duplicata Possível:
Qual é a diferença entre uma "função" e um "procedimento"?

Eu procurei on-line por uma resposta a essa pergunta, e a resposta que obtive foi que uma função pode retornar um valor, modificar um valor etc., mas uma sub-rotina não pode. Mas não estou satisfeito com esta explicação e parece-me que a diferença deve ser mais do que apenas uma questão de terminologia.

Então, estou procurando uma resposta mais conceitual para a questão.

questionAnswers(4)

yourAnswerToTheQuestion