In my opinion, if I am going to completely honest, Buffy didn't deserve Spike, soul or no soul, he was always utterly devoted to the object of his affection, even as a human.
Buffy never really let anyone in after Angel and no matter how hard they tried or how deserving of her respect, she was just emotionally distant, damaged by the heartbreak of her first love.
Spike was fully devoted to her and I can see where a lot of people say that Spike lost his own identity by fall for Buffy. I see it as being spot on brand for the character though, as he says himself he's love bitch and man enough to admit it, so even way before Spuffy was a thing we already knew what he was, I mean we saw him with Dru, he needs to direct that and no one can deny his chemistry with Buffy since his first appearance in School Hard.
If you didn't have Spike in love you don't have 100% Spike, so most of us were delighted that they kept him on the show so who else would you pair him with? Willow? Gay, Anya? She was with Xander and she was the only one that I would said to actually be his friend, Dawn? don't even go there, so Buffy was the obvious choice, between the chemistry shared, they always had strong feelings for each other even if it was hate and disgust at the start.
But she never batted an eye at everything he done for her, most of the time knowing that there was very little chance of any kind of acknowledgement or gratitude. She didn't deserve someone so unspeakably devoted and selfless towards her.
The only gratification I get out of Spuffy is in the last three episodes of S7 when she finally drops a few barriers towards him, which she should have dropped all when he nearly died, not for her, for Dawn when Glory tortured him. If he didn't deserve to be let in then, after going through that, even without a soul, for me that's proof enough of the reality of his feelings, give the guy a break.