I'm always of the opinion it is better to be completely honest and give positive feedback. Even now in my brewing career that I think my beers are consistently pretty good, I welcome any criticisms. It does nothing for me when people only compliment my beer, and I much prefer when someone tells me something like "it's good, but there's a (fill in the blank) flavor in the aftertaste I don't like". That helps me make better beer.
Having said that, there are a lot of brewers who think their beer is awesome, and can't believe any suggestion to the contrary. If after gently telling your friend how to improve his beer, he denies anything is wrong, it's better to just leave him be.
Brian, I agree with you. I have a friend who brews and I always am honest. But he WANTS to hear it.
Many newer brewers have the ugly baby syndrome. I've talked about this before, but basically it means that they think their beers are awesome because they made it- just like parents with ugly babies think of their children. If someone has UBS, and they aren't asking for feedback, then I would just clam up. I'd say, "Thank you for sharing with me. No, thanks, I won't have another", and leave it at that unless they really ask and want to know. Otherwise, if they (and all of their other friends) love the beer, they just think you're a big *********.
I did a beerswap here on the forum way back when. A guy proudly sent me some of his lagers. He asked me, "Well, what did you think?". I said, politely, "Well, the color is good and the clarity is good but there is a very harsh astringent finish in all of these beers". He said, "Oh, yeah. I noticed that, too. But how did you like it?"
I said, "Oh. Well, I'm not a huge lager fan" or something like that. Because you know what? He wanted to hear that his beers were great, and he loved them. And that's the important thing.
If he asks for feedback, be honest. If he doesn't ask, just shut up. That's my motto!