Customization: The ability to modify or enhance a product to meet desired objectives. This can be achieved by using supported (or unsupported) methods to implement changes and functionality that are not provided out-of-the-box by the manufacturer. This can include custom code or third-party add-ons that perform desired functions.
Configuration: The ability to alter a solution via a user interface, configuration files, command line, etc. to change runtime behavior and attributes to support a business or compliance requirement. Configuration changes are typically supported by the manufacturer, or it will be clearly stated when they are not supported and have the potential to introduce undesirable outcomes. Configuration changes generally do not have any custom code to implement, nor will they require a software developer's kit for implementation, as would be required for customization.