Salesforce Customization

Given a scenario, identify the boundaries of declarative customization and the use cases for programmatic customization.