Рассматриваемый тут приём может использоваться при создании любых функций, имеющих необязательные параметры, но особенно он актуален при создании плагинов, поскольку плагин предназначен для широкого круга разработчиков, и им нужно предоставить удобный и понятный API.
В PHP у нас такой проблемы бы не возникло, так как там есть параметры по умолчанию. В Java – тоже, так как там можно перегружать методы с различными наборами параметров. Остаётся лишь вздохнуть: “Хорошую религию придумали индусы”. Хотя, если подумать: а нам оно надо – писать перегруженные методы на все случаи жизни, когда можно очень компактно и с минимальными потерями для читабельности кода уместить всё в одной функции! Что касается параметров по умолчанию, то они легко реализуются и в JavaScript.