Hey Storytellers,
How do you create a villain that is worth remembering and fighting against?
Give the villain a purpose, goals, compelling backstory. Make the want to do something that is good and noble, except that the way they are going about that goal is evil to the core.
So your villain wants a good thing or ideal, but in order to get it they will do the unspeakable.
Then trickle out details about their past so that the players, over time, start to sympathize with the villain. This makes it harder to just kill them in the end.
Another twist on this story is to have the villain be created because of one or more actions that your mentor (NPC) did. The mentor feels guilt and remorse, so refuses to harm the villain anymore than they have. And all this time you just thought that the mentor was prepping you to fight the villain because you were the chosen ones...nope. It was guilt that made your mentor use you to fight his/her enemy.