Does being good at debugging help the team or hide the mess?

I keep seeing teams celebrate the person who can untangle a nasty bug in an afternoon, and sure, that saves the week. But sometimes it also means the fix lives in one head and nobody else learns how the system failed.

Has anyone found a good balance between rewarding fast debugging and making sure the reasoning gets shared instead of disappearing into Slack and memory?