I trully adore Willow and I sort of relate to her clumsy-shyness and I think she is always such a good friend.
But there is a little something that seems wrong.
Sometimes, she just tries to much to be a good friend.
Some character, like Anya, Spike, Xander, are not always the kindest and say things they think quite abruptly, but they are always more...upfront with it, they don't try to hide their inner anger not to hurt anyone's feelings.
But Willow acts different, she always tries to keep everything inside, in a way.
Like when they all make an intervention for Buffy because she didn't tell anyone about Angel, Willow was just trying to hard with her "I statements, remember, it's not about blame, it's about understanding". Then Xander says something that is very unpleasant but not exactly wrong and after that Willow says to Buffy "He can be such a douche sometimes". I had this feeling she probably said to Xander earlier "Yes, I kind of agree with you but you could have said that differently".
You know what I mean? I just get the feeling that she so much wants her friends to love her and not to lose them that she's not always being honest with everyone.
In season 4, she's more confortable with her bitchy-side, because she gained self-confidence...But things she say when she is herself hurt are sometimes really mean, like when Oz left her, saying things like "What do you know about pain, the worst you suffered is to live in your parent's basement" *or something like that* to Xander while he was just worried...
It's like the evil-bitch was always inside of her, but she always repressed it. And when Tara died, it was just not only her resistance to magic that fell apart, it was also her bitch-side that was released, the way I see it.
Because some things she said when she was Dark were awfully obnoxious, but I always felt like it wasn't the magic that made her say those things, it was the bitchiness she always hid under loads and loads of kindness and sweetness.
But when she came back, I think she was finally more balanced, she was more honest with who she was and what she thought.