There’s no one contextual framework that the phrase “best practice” fits neatly into because the word best is ambiguous.
I get asked this question all the time; in nearly every sales meeting I have with customers.
It is like some many other similar questions dealing with systems performance or availability for example because your first response often necessitates asking several questions yourself to understand what’s important to the client.
For example, is a workflow solution or an event receiver or a timer job definition the best practice for a given set of requirements? Your answer will depend upon what the client thinks best really means; i.e. which combination of cost, schedule, no-code, etc. is important to them.
However, in the consulting field, it frequently is not as simple as asking what is important to them if they expect you to tell them what’s important. I have found that getting in front of this question helps whenever there is an approach that you think might have a slight edge for that situation.
You can certainly assume that minimizing cost and risk are important to them. But there are plenty of cases for example where the custom coded solution is clearly better than the OOTB solution and you are going to go with that approach first; even when it’s an up hill battle.
If time permits, and I sense the client wants the “tell me like it is” approach, then I explain some of this to them and in all of those cases they immediately get why can be a hard question to answer off-the-cuff. Unfortunately that does not mean someone will not have declared very specific best practices beforehand, but you can demonstrate your depth of knowledge and experience by explaining why that may or may not be right for them.