What I do with extra foreign currency depends on how likely I am to return. As part of my current job responsibilities there are four countries I travel to regularly. I'm willing to take home a moderate amount of cash, anywhere from 20-100 USD worth, figuring I'll use it on my next trip. It's actually convenient to start a trip with a bit of money, enough for taxi or bus fare from the airport to downtown. It relieves the pressure of having to find a foreign ATM immediately at the airport.
When visiting countries that I'm unlikely to return to in the near future I try to spend down my extra currency. I'll buy a gift for my wife or a bottle of liquor at the duty free store. Or I'll buy lunch at the airport with cash instead of credit. It's usually not hard to whittle down to around $5 worth of foreign money. The remainder I'm willing to keep as a travel memento. If it's a bit more than I need for my casual collection I'll give it away as novelty gifts. For example, I once tipped a bartender in the US a 1000 Korean Won note after we chatted about my recent visit there. It was only worth $0.70 at the time, but he really appreciated it.