Bringing back an old character is a good way to provide continuity within an adventure. There's the recurring villain, of course, but you can also do this with friendly NPCs.
The bartender who the heroes met on their first visit to a certain town can be a regular feature of their visits whenever they return. The travelling merchant they rescued from bandits can show up in a completely different city a year or two later. You could even go the Androcles and the Lion route: The heroes end up in trouble somehow, and the merchant comes to their rescue.
Another option is to bring back retired adventurers. The warrior or wizard that one of the players played in a previous game might appear in a later game featuring new PCs. You can run the retired adventurer as an NPC, or perhaps have the original player reprise the role briefly. You can even do this by surprise - the players might not even be aware that they are adventuring in the same world as their previous adventures, just advanced a decade or two. Imagine a group of heroes going into a tavern and stumbling across the legendary Zakmort the Conjurer, who defeated that dragon all those years ago - when one of the players actually was Zakmort.
R2-D2: ... but I told everyone years ago!
GM: Luke wasn't there.
Luke: Anyway, we can't hang around here. They could have been compromised.
Luke: Which means the Empire could be here any minute.
R2-D2: We have to wait for Threepio so I can—
GM: Beeps only.
Luke: Let's get out of here.
[SFX]: < boop boop >
Luke: Look, we can't stay here forever. Do you have a better plan?
Luke: Maybe the guy I'm supposed to meet can help us.
[SFX]: < boop >
Luke: Some old Jedi dude called... Yoda, I think. On Dagobah.
[SFX]: < whirr whirr whirr! >
Luke: Well that sounds more positive. Let's go.
Luke: This better not be one of those droid pleasure planets.
[SFX]: < dip-deep eeroo! >