If the candidate is strong, then I send them links to job openings at some of our peers, partners, and even competitors (depending on skills). Sometimes we get people who are solid technically but just not the right fit for our culture or team. In this case, they may be a good fit for another team. Your meta goal is to get strong candidates to work in the larger ecosystem that surrounds your company, not just your team.
This extra step always surprises and delights candidates, even if they don't end following through. They'll then go on to think and say great things about your company.
It's an incredibly nice thing to do that will pay dividends. I'm Twitter "friends" with several candidates we passed on by took this approach with. It's lead to several business development meetings, a partnership, and evening a speaking engagement. They've also referred new candidates to us.
I've had nothing but win from this and strong encourage others to try it.
I've done a bit of that sort of matchmaking for some great folks who've reached out to me. Its incredibly hard for most job seekers to know which businesses are a good fit (and vice versa) until they chat with each other.
I've done a surprising amount of that sort of matchmaking in the past 6 months (smart folks reach out to me, I redirect them to a place that would be an exciting fun fit for them right now). I'm pretty amazed as how awesomely its worked out for all those folks and associated companies.
It gives me great pleasure to be doing that matching for other people (and which I've never had the pleasure of getting myself).
[meta remark: its also been the first time I've seen how my ability to have a really good read on how folks will get along & what their strengths/weakness/growth areas are actually ridiculously useful. I'd long thought those two skills of mine are useless]
Also bear in mind what future positions you might have available.
I remember about fifteen years back I was interviewing for somebody who could grow into a technical lead (they needed to come in as a developer and help build a team around them).
One of the people we talked to was completely unsuitable for that role - but was amazingly impressive in other ways ("I do Linux. Here's a phone number where you can dial up into my Linux box and play with the web server." In the mid-90's this was... unusual... for the average candidate).
Six months later we had a technical-support-growing-into-ops role. Guess who was first in line for that job.
As far as I am concerned saying 'thanks but no thanks' politely and quickly is all win. It makes the candidates keep some respect for you, helps the company reputation, overall saves time (IMHO) due to the people who repeatedly nag, ensures that you have good concrete well defined hiring criteria, etc.
On the flip side, of most of the people that I interview, I am not confident that I can honestly say that more than a tiny percentage of those people are objectively bad, it is more that they are not a right fit for my team because the team is looking for people with specific skills and there is a mismatch. This means that a little work on the part of the Engineer could better redirect such people (at least better than a "tech recruiter") to teams for whom such candidates would be a great fit. The nature of the recruiting business is that you will always have false positives. More importantly, people are moving targets: A person who is not a right fit today for your team might in a few years be the right fit for the next team that you have.