All of the companions so far are selfish broken people. But that's the point.
Shadowheart is probably my favorite. Especially now that they make her not such a b***h.
I didn't use Astarion much until about 6 months ago. But once I realized how powerful he is as a Thief, he was in the rotation.
Wyl has a tragic life. But he is a fraud. I've probably used him the least. Though I started using him more once I stopped using Gale as much.
Lae'zel depends on what I'm playing. With a Paladin or War Domain Cleric, I didn't need her. My Githyanki Great Sword wielding Abjuration Wizard didn't need her either, but my kin was at my side the whole way. And besides having her and Shadow in the same party is fun.
Gale used to be a must have in every playthrough. Even when I played as a Wizard. But now his devouring every powerful magic item gets on my nerves. My last playthrough with a Land Druid, I told him to take a hike when I met him. Though with my current Divine Soul Sorcerer, he is very useful for crowd control.