Bueno, el titulo lo dice todo y antes que nada disculpen mi ignorancia:
La verdad es que ya he estado picandole a delphi desde algún tiempo, y lo he hecho practicamente solo y con la valiosa ayuda de todos ustedes (ya que en mi escuela se maneja C) y en los programas que he hecho nunca he necesitado una dll, lo unico que se, es que son como unidades de código separadas del exe (tampoco lo he visto en mi escuela

), pero aqui viene la pregunta que me acosa ¿Por que separar el codigo?, o ¿Cual es la ganancia o el propósito principal de las dll?.
Como pueden ver no tengo ni idea sobre este tema sólo se que es importante y por ello mi inquietud de aprender al respecto y ojalá puedan darme una intro.
Si alguien conoce algun documento en el que se expliquen estos conceptos, estaría muy agradecido.
Saludos
dvz