Here's some ideas from ChronoTrigger, the game from SquareSoft...
775: No, I'm not the worst thing you have to deal with.
You have a villain? He's evil, seemingly all-powerful, and the players hate him for many good reasons? He's yesterday's news. If villain #1 is so nasty, what happens when you stumble across the thing he fears most? And I'm not talking about truth and kindness. I'm talking about villain #2, who replaces #1 as the focus of the campaign, possibly to the extent that villain #1 joins the heroes to stop #2.
Villain #2 is far more powerful than #1. If the PCs never had a hope of defeating #1, make it abundantly clear that they can't even scratch #2... but they have to try.
Example: SPOILERS AHEAD
Magus was conquering the world with his inhuman armies, his awesome dark magics, and his spooky, inaccessible castle. The heroes had to stop him summoning the world-devouring monster Lavos. And eventually, after a titanic battle, they did. At which point he revealed that he was summoning Lavos to destroy it and save the world from its eventual fate, and that they'd just screwed everything up. Eventually, they fought Lavos, and saved the world, but if you think it's harder than it sounds, you're right. Lavos arrives by emerging from a continent. The lava fallout from his emergence alone causes global devastation... and that's just his outer shell. Inside, he's much tougher. Of course, this wouldn't work if the PCs couldn't find out about it; in this case, they witness it from the safety of a time machine and don't have to fight Lavos immediately. (If they do, they die fairly quickly.)