One of the most interesting discussions recently has been Spike's morality.
While many people think that Spike has changed to the point where it's like he has a soul, I must disagree. Spike may no longer be able to kill humans, but he still lacks a soul... and a soul is what makes someone want to do good.
A soul in the buffyverse is basically a driving force. The soul of a human is what makes a human want to do good. A vampire soul is the opposite in the fact that a vampire's soul drives them to do evil. For a vampire soul, anything goes, nothing makes the vampire feel bad unless the vampire is personally effected negatively. This means a vampire can do almost anything it wants because it allows the vampire to be selfish and never feel and guilt. If a vampire hears on the news that some children were murdered, the vampire will not care, they would probably feel good about it. If the children killed were friends of the vampire, then they might feel bad, but probably not as much as a human would.
Someone with a human soul would feel bad about these children dying, even if they are personally not effected by the story, just the fact that some children were killed effects a person. It may only be a tiny feeling, it may be gone within a few seconds, but it's always there. The fact it goes away does not detract from it. As humans, we all have to deal with pain, and eventually the pain will almost go away, it's how we survive. If we felt the same pain and it never went away we couldn't live. Part of being human is that it goes away eventually, maybe until we think about it more again and we have to relive it. But this is still very different from never caring at all. That is how vampires are. Spike doesn't have that feeling, ever. This is why he can kill someone, and never have a second thought about it.
On a related note, most demons shown in the buffyverse have the same type of soul as a vampire. However, not all of them do. Some demon souls seem to motivate the species to do good, and some might just have no motivation.
Sidetracking a bit, lets talk about Angel. Angel has both souls, a vampire soul and a human soul. Angel however, keeps his demonic nature buried, but he still has urges to let it free. He never could fully unless his curse was broken, because the human soul would always tell him that doing bad is wrong, and it would make him feel bad. This is part of the reason Angel is in so much torment. Half of him is telling him to do one thing, while the other half is telling him how wrong it would be to do it.
Lets get back to Spike shall we? Spike has a vampire soul. He does not have a human soul, and has not had a human soul since he was turned into a vampire. Spike has no deep down motivation to do good. For example... when a troll asked him where he could find some babies to eat, his first reaction was not of horror, it was of general interest to the question. A person with a soul would have the first reaction of how horrible this troll is.
It is true, that he helps Buffy, and loves her, but this is because it benefits him. Vampires can experience love, but most of it is just a selfish love. Spike enjoys the feeling of love, it makes him feel good. Everything Spike does is selfish. Spike first helped Buffy because he wanted her to like him. He continues to help Buffy and the group because he has developed a friendship with them. The friendship makes him feel good. It is not because it's the good thing to do, Spike is incapable of wanting to do something purely because it's the good thing to do. Also remember that Spike is very prideful, he is not going to do things against someone he cares about, because his pride prevents him from it.
Now, just because Spike could watch a stranger be killed in front of his eyes and never be phased by it, this does not necessarily make him evil. His actions are what make him evil. There are plenty of people who are selfish and don't do good things for the sake of good. I wouldn't call them all evil. Spike could live a non-evil life, never killing anyone if he wanted too. He just would never have the motivation to do good, he would never care about anything not directly related to him. Sure, he could try, he could do good deeds by telling himself it's the right thing to do, but he'd never feel it.
In many ways, Spike is more of a tragic character then Angel. Angel has to live with the pain and guilt of all the things he's done, but he can have the motivation to do good. Spike can't do evil, and he can't do good. The chip stops him from doing evil and the lack of a human soul stops him from ever truly doing good.
Finally, please be aware that I am not talking about real life here. In real life I don't really believe in souls, but in the buffyverse, every human is born with a soul, every human has the urge to do good. This has been shown with Faith and a few other characters.