For all of his viciousness, Caleb was a subservient character ordered around by The First Evil. We all knew what he was going to attempt to do and it was all very one-dimensional.
Mal was the captain of his own ship and there was always the idea that he would do something unexpected. He had literally a whole galaxy of choices of what to do, so his story could always be interesting.
I mean, don't get me wrong, I love Caleb. He's a great villain and it was very fun to see Nathan Fillion play him. He gives a little extra something to the end of season 7. But he's not as fully formed a character as Mal is. He's not as cute as Mal is (say Caleb, did your mother cut your hair because I don't think the pennies saved were worth that horror), he's not as funny as Mal is, he's not as complex as Mal is. So it's all about Mal at the end of the day for me.
Please, if you told Joss he has 10 seconds to devise a series premise, "Heroic Petite Girl fights a Clergyman who doesn't like women," is what he spouts out. Two minutes, he adds "Both have a Southern accent." Caleb is a stock character, the only real innovation was making him Superman.