Read at Adrian Roselli
Disabling buttons can be appropriate depending on the specific use case and purpose of the button. It can be a way to signal that a certain feature is not currently available but may be later. However, a blanket ban on disabling buttons is not ideal. It is important to consider the context, audience, and expectations when deciding whether or not to disable a button.
Buttons can do lots of things - expand disclosures, pop dialogs, play videos, toggle themes, slide views, download files, and so on - and disabling the button may be a least-bad method of signaling a feature is not currently available but may be later for reasons that you have made clear to the user.
On the other hand, disabling buttons within the context of submitting a form or gathering information is generally not recommended. This is because it can hinder the user's ability to submit the form or proceed with the desired action. Submit buttons, in particular, should not be disabled as it can lead to frustration and confusion for users.
The place where buttons should not be disabled is within the context of submitting a form. Or, more specifically, within the context of gathering information from a user that may need to go through validation, review, corrections, and so on.