I was taking a bath and pondering (again) which of the men that were in Buffy's life I would have wanted to spend a lifetime with (you know, if I were in a fictional tv show).
Angel, her first love, was the kind of guy you would hope would be your first boyfriend. He was sweet, kind, caring, gentle (even if he was over 200 years old and still jealous of other guys in your life). At least he was until a moment of pure happiness, and then he went all evil. And as an evil guy, he was more interesting (as long as he wasn't going after you). But he left you no questions as to whether or not he was evil, he was evil to the core. He wanted (and tried several times) to end the world. That's evil.
Riley, her college boyfriend, was nice. He was the kind of guy you could bring home to your mother. He was dependable. Safe. Boring. He loved Buffy, but he didn't feel like he was enough for her just as he was. She faced a family crises, and he fell apart because she wasn't there to reassure him that he was still important. And then, he showed back up with his "perfect" life at a time when Buffy's life seemed bleakest and almost rubbed her nose in what she could have had.
Spike, her boy toy, was complex. He loved, deeply, even while he was evil. He was willing to kill, violently, but he liked the world. He didn't want the end of the world, he just wanted his life to continue as it was. He mourned, and drank, when his "dark princess" rejected him. He always seemed to hesitate just a moment too long when fighting Buffy (which gave her an advantage, and let her get back into the fight). When he found that he couldn't hurt humans, he tried snitching for blood money (or money for blood, however you want to phrase it). When he found he could hurt demons, he started working with his biggest enemy, because he liked to fight. He was willing to do anything for Buffy (after he realized that he loved her), even before he got his soul back (including nearly dying to save her sister). And after, he was willing to die to save the world one more time, even though he knew he would definitely be going to hell.
Um, if you can't tell just from paragraph size alone, I would willingly spend more time with Spike than any of Buffy's other suitors. Because he was a compelling character no matter what his circumstances. Even when he was whiny and contemplating suicide, he was still interesting (it helps that he was only whiny for like 2 or 3 episodes total). And the most interesting part is he was supposed to be killed off after only a few episodes, but the fans loved him enough that he got to stay and play a bigger part.
I like Angel. He got to be a more complex character once he got his own show. But, I still would pick Spike over Angel, because evil Angel, while cooler, was heartless and evil Spike wasn't.
So, there you have it. My opinion on such a vastly important and timely topic (now that Buffy has been off the air for over 5 years now). If you have any better arguments for Angel, or even Riley, leave them in the comments. Maybe you can change my mind (but I doubt it). And if you are as pro-Spike as I am, let me know too.