Rewatching Angel, I'm kind of surprised at how little I enjoy Fred. I used to like her, but she's sort of a one-note character - the sweet, brave, quirky little toaster who could. Amy Acker does a really good job, but Fred is lacking in depth. After she's integrated back into normal society there are very few episodes where she shows any real depth. Once she hooked up with Gunn, she sort of became an accessory, and eventually she sort of becomes an objectification of innocence and goodness.
Willow has a lot more depth - she can be a selfish bitca, or a great friend. Her growth is organic - the qualities that define her are rooted back when she first appears. Granted, she does have a lot more time on the show, but AH also has a knack for taking the small bits and running with them. Willow starts as a bit of a cliche, but she grows.
I really love Tara - she's the person i would most love to have over, to hang out with. I also think Amber Benson is amazing. That said, while there are scenes where she's pretty amazing and shows a surprising amount of depth, overall she's sort of an adjunct for Willow.
Tara is one of the characters that Joss really wasted - like Anya, she really could have been so much more.