There's this blog post about the episode that I read (I got the link from somewhere around here) that I really loved. It more or less filled in the plotholes by saying basically what White Avenger said, that Riley was setting Spike up from the beginning to "show" Buffy how wrong she was. I think the poster went as far as to say that he planted the eggs--which honestly, I think makes more sense than Spike having them. If he'd been the doctor, which I doubt, he would have known how to take care of the eggs. After all, when they hatched, his ass would be on the line too, and when have we known Spike not to indulge in self-preservation?
If he really was holding the eggs and Riley didn't put them there, then I still doubt Spike's the doctor. The real doctor probably offered Spike a ton of money to keep the eggs--but then, why wouldn't he tell Spike how to take care of them if he was going to sell them to other countries? Unless someone was hoping that the eggs would hatch and expose another someone for being evil. Hmm....
And this is probably just my Spike-fangirl showing, But I sympathized pretty heavily with Spike in that last scene. The night before this big declaration and break-up, Buffy asked him to tell her he loved her and wanted her, and then they proceeded to sleep together in a much calmer, gentler way than they had before. Way to toss the guy a bone and then snatch it away, don't you think?
I don't believe Buffy was wrong to end it, but I don't think it's as simple as, "He was evil so she did the right thing." She was hurting him, so she did the right thing.
Anyway, Sam to me was a little unimportant in this episode--she felt more like a plot device than an actual person. She was awesome, everyone loved her, Riley was happy and married and living the dream. And meanwhile, Buffy's life was in shambles. Sam was just there to maintain the idea that Riley had found what he was looking for, while Buffy was still pretty damn lost.