In many cases you want to extend your website with features that are not "off the shelf". For example, a configurator for your specific product should support your customers in their product selection or external data such as existing databases must be used.
A few examples: