Spike is, in my opinion, one of the greatest characters on TV, and I'll explain why.
This character is far from being shallow, or black and white, or "just a vampire". Because he comes in so many flavours: he's good, he's bad, he's in love, he's a vampire, he's human, he has a soul, he's crazy, he's the bad boy, he's soft on the inside.... He has changed and flipped so many times, one thing after another. I wouldn't want him stuck in the same persona of the evil vampire. THAT would be terrible. The character has developed a lot, every season we got another Spike. He wasn't the same vampire each season. He went through the changes that not only the script wrote for him, but also the interaction with the other characters. He didn't change just like that in poor writing. You can actually see his journey, and I find it great. Spike is a great character, who shouldn't have stayed still - as an evil being, THAT would suck, to both the fans and script wise. I don't really like Faith's character, but I think the character is brilliant. Because there are many layers there, she doesn't stay the same for the entire series.
I just don't see a point in keeping Spike the same, just because he's more fun when evil. Also, what storyline could hit it when he's evil all the time? Would he stay around Sunnydale, around the scoobies, making plans on how to kill them, how to do more evil... how would that work? How would he develop and not bore us after a while?