Season 2 has a lot of depth at least emotionally. It's all about growing up and dealing with the 'growing pains' for lack of a better term.
I don't think the problem with season 2 is Angelus, it's how the writers portrayed him. With Angelus, there are no shades of gray. He's evil. He feels nothing and cares about no one. He obsesses and tortures people on an emotional level. I believe this was intentional because the audience is meant to like Angel, to root for him. Angelus needed to feel like an entirely different entity. That way when Angel entered the fold again, it would make things easier. We all know they're kind of one in the same, but on some level, our brains differentiate between the two because the writers made that decision. At the time, it worked perfectly, but as the show progresses, not so much.
We see shades of gray with vampires all the time, and these are vampires without souls. Spike and Drusilla are evil, yes, but they still love and care for one another. Maybe not on the same level as those with souls, but it's still there. They still have humanity. Spike isn't interested in destroying the world like Angelus. He wants it to stay the same. He wants to be with Drusilla. We also see Spike do the right thing countless times throughout the seasons, even if he isn't entirely good. Even if he did get the chip that certainly altered his fate.
And then we see Harmony who tries so hard to blend in and be 'human'. There is the vampire in Conversations with Dead People who literally has an entire conversation with Buffy.
Basically, we see one vampire after another who is capable of human emotions, and when it comes to Angelus, he has none. There is absolutely no connection to his human half. Yes, every demon that takes up shop is different, but it just doesn't add up.
Like I said, I think this was intentional, and I can't entirely blame the writers since it was so early in the show's run.
But I think saying that Buffy should have killed this character and that character before certain points in the show also neglects the whole concept that she is also a human being. She loved Angel. Also, yes, she sent Angel to a hell dimension, but it was him or the entire world. One doesn't outweigh the many. As for Faith, she has one of the most compelling redemption arcs in the entire show. Again, she's still human. Buffy doesn't kill humans. Angel believed in giving her a second chance. Faith is also the opposite of Buffy. She's there to show what Buffy could have become without the upbringing she had, or all of her connections.
And as for Willow, well, Willow is one of her best friends! Again, this is someone she loves and cares about. It's about saving people and redemption. Angel knew the fight for redemption never ends. It's why he didn't care about the prophecy. He didn't care about becoming human again someday. He believed it was mostly crap at that point, and even if it's not, it's a long battle ahead.
If Buffy killed every single person in the show just because they started to 'go bad' or did one wrong thing, then essentially she's just another killer.