Argumentos de función (en Python, por ejemplo)

¿Qué son los argumentos de [función]? ¿Para qué se usan
Empecé a aprender Python muy recientemente; Soy nuevo en programación y me disculpo por esta pregunta básica.

En cada tutorial de Python que paso, hablan sobre argumentos. He buscado la respuesta a esta pregunta y he encontrado muchas respuestas, pero son demasiado difíciles de entender para mí. Es posible que me falte algo de contexto conceptual.
Entonces ... cuando defino una función, ¿para qué se usan los paréntesis? Ejemplo

def hi( This is the part that i dont get):
     print 'hi'

Editar
os preguntas de seguimiento relacionadas con esta se cerraron más tarde y se fusionaron aquí, de ahí el rasgo parcial fuera de contexto de algunas de las respuesta
Las preguntas de seguimiento fueron: [parafraseado]

¿Se pueden usar argumentos solo para entrada?
Cuáles son otros ejemplos del uso de argumentos? ¿Por qué usar argumentos, en lugar de hacer que la función llame raw_input? ¿Por qué se describe el concepto de aprobación de argumentos como algo tan poderoso? me parece que simplemente los estamos usando para reemplazar cosas que el usuario podría haber escrito en el teclado.

Respuestas a la pregunta(7)

Su respuesta a la pregunta