I once had a customer became highly incensed when told the deliverables he wanted were not going to be completed on time, due to a lack of resources. He said he didn’t understand why his highest priorities didn’t get completed but extra features not asked for were. When told additional features had recently become priorities he strongly disagreed. His response was the person requesting or making the changes thought the changes were important but they were NOT. If the changes were important, they would have been requested directly by the President of the company. (It sounds dramatic but it was true)
Though there were certainly issues, at the time, as to who had authority to authorize a change, what happened was an example of gold plating. Gold plating refers to providing the customer more then they ask for. (e.g expanded scope, functionality, higher quality) Though this practice is based on what someone thinks the customer would like, it doesn’t necessarily add any real value. Both risk and cost will increase on the project because the requirements must still be met in the allotted time and budget. As tempting as it might be, it is strongly recommended not to gold plate. Try to make your customer happy by keeping your project within scope, on time, and on budget.
If your customer (or person authorized to approve a change) does indicate the change will add value, inform them of the impacts to the schedule and budget (and potentially quality and risk) and get their formal agreement to do the work. Though it’s easy to say you should not agree to make the change, the reality is you need to make the customer happy and they will make the final call. Negotiate with them, to ensure the requested change will have a minimal impact to the current scope being completed. In a perfect project management world, free of zombies and runaway stakeholders, there would be a separate funding vehicle and it would not impact the baseline.