When I ran my recruiting business, we told people they were awesome, but not the kind of awesome we need right now. Sometimes I would offer personal feedback that was "off the record" if I felt they really needed to hear it.
I had a one candidate come thru who wasn't a fit. But on top of that, his clothes were filthy and his resume had a bunch of typos in it. I told him after the interview that we wouldn't be hiring for skills match reasons, but also offered the feedback on his appearance. He wrote me a letter a couple years later thanking me for the advice, which I guess he hadn't realized was holding him back.
Another time a hiring manager told me that a candidates mullet haircut was too unappealing. I decided to pass that feedback tactfully to the candidate after buying him a beer. Mullet guy actually ended up interviewing me for a job years later, and brought that up. He said his job prospects got much better after he got a haircut and thanked me for the feedback.
While I think giving no feedback is good advice in general, I think it's fine to tactfully offer feedback to a candidate if they really need to hear it. No one is going to try justifying the ketchup stain on their shirt. Haircuts might be more sensitive, but I was fairly confident mullet dude wasn't rocking business-in-the-front-party-in-the-back style for religious or cultural reasons.