Being open and honest is always the best way to go with project-related transaction. However there are many many times when you, your team, or stakeholders might be speaking in code rather than just saying what they mean.
I've listed a few of those coded messages below.
Code: "We don't have the budget for that."
Reality: "I don't think that's worth exploring."
Code: "We tried that already." (maybe 5, 10, 20 years ago)
Reality: "I don't think that will work."
Code: "[Our Competitor] already does that well."
Reality: "We can't ever match or beat [our competitor's offering]."
Code: "This is going to cannabilize [our existing product]."
Reality: "My job or my friend's job might change or go away."
Code: "Sometimes no just means NO."
Reality: "You are not worth explaining this to."
Are there others that you know of?