You do indeed have two questions, intertwined. When should I tell people the reasons I am making a decision, if those reasons are negatives or complaints about them, and if I do choose to do so, how can I word it?
I think the key to answering both of those lies in the same place. You need to understand that some, perhaps even all, of the "bad thing about them" is in fact a thing about you. Not necessarily a good or a bad one, but a thing about you, not them.
Sticking with your restaurant example, instead of "your prices are too high" think about
- "your prices are too high for me" (plenty of people exist who are happy to pay that price)
- "I don't like seafood" (plenty of people do)
- "I wanted a table with a view" (some folks don't care)
When you reword and rethink your reasoning like this, you realize that the need for the feedback may shrink. Does the high priced restaurant need to be told some people can't afford it and there are cheaper options nearby? Does the seafood restaurant need to be told some people don't like seafood? Maybe if you're in a large group who all love seafood and are looking for a restaurant, I might tell someone "I was hoping you'd have one or two things for non-seafood-lovers like me so the whole group could eat here, but you don't."
So you don't want to date a particular person, but probably someone else does. You try on an article of clothing and it doesn't fit you, probably it fits someone else. You interview someone for a job and they're not right for this job that doesn't mean they'll never be employed anywhere.
Even a blunt "you're completely wrong about that and obviously don't know [topic] at all" can become "I completely disagree." Then you can decide whether you want to discuss it further or not depending on who the person is, the situation you're in, their reaction to your disagreement, and so on.
The people in my life who are sure they are 100% right, who don't see a difference between their opinions or observations and the absolute truth, who think a restaurant needs to be told how to set its prices by a random eater -- these people leave a lot of frustration in their wake. I have watched several of them learn to not just reword but rethink so that they say things about themselves ("I would not pay that much for a meal") instead of an absolute truth about the universe ("Nobody would pay that much for a meal") and not only do the people around them become happier (that's easy to predict) but the formerly-over-confident people do too. They can let go of the burden of running everyone else's restaurant, love life, hiring practices, clothing stores and so on. They can just have personal opinions like everyone else, which they don't always have to share. That's much less work than knowing the One Truth and feeling obliged to educate everyone around them.