Опять глупый вопрос. Есть, например, функция, которая вызывает несколько других функций, которые вызывают еще функции и т.д. И практически у каждой из них есть параметры, ключевые аргументы, которые должен задавать пользователь.
Как быть в такой ситуации? Передавать самой «верхней» функции тучу параметров, которые она должна раздать всем «дочерним» функциям, очень неудобно.
А как тогда быть? Надо же чтобы конечный пользователь не видел всех потрохов вызова вложенных функций, но чтобы как-то задавал их ключевые параметры.