Cómo podrías explicar qué es un Método en programación?

El siguiente extracto ha sido tomado del libro de John Guttag's sobre 'Introducción a la Computación y Programación Usando Python'.
La idea básica de un método (o función) es encapsular un cómputo dentro del ámbito de aplicación de tal manera que pueda ser tratado como una primitiva. Lo que esto significa es que intuitivamente utilizamos las funciones incorporadas, como printf() o System.out.println(). Pero cuando escribimos un método (o función) definido por el usuario, podemos implementar cualquier funcionalidad que queramos, y el sistema entonces considera que la funcionalidad es inherente o primitiva. Look at the following code, which finds the sum of 5 numbers (the code is written in Python):

  1. n = 5 # Denotes the total number of numbers 
  2. counter = 0 
  3. answer = 0 
  4. while i <= n: 
  5. answer += counter 
  6. counter += 1 
  7. print answer 

This is a reasonable piece of code, but it lacks general utility. Sólo funciona para los valores denotados por la variable 'n'. Esto significa que si queremos reutilizar el código, tenemos que copiar el código, posiblemente editar los nombres de las variables , y pegarlo donde queramos. Por ello, no podemos utilizar este cálculo dentro de otro más complejo.
Cuanto más código contenga un programa, más posibilidades hay de que algo salga mal, y más difícil es mantener el código. Imagina, por ejemplo, que hubiera un error en la implementación inicial de la suma de números, y que ese error saliera a la luz al probar el programa. Sería demasiado fácil arreglar la implementación de la función de suma de números en un lugar y olvidar que había código similar en otro lugar que también necesitaba ser reparado.
Esta respuesta ha resultado ser un poco más larga de lo que esperaba inicialmente, sin embargo, ¡espero sinceramente que esto ayude! 🙂