Every champ is good and excels at certain stuff.
I like karma TOP honestly (AP Tank) but she can work as well in mid and she is played support mostly.
Pros of karma:
-high base damage.
-can build anything and still get away with it. (Reasonable builds).
-great poke dmg and low CD on abilities if you hit enemy champs.
-mini sivir ult + shield.
-longest snare ingame if landed (R+W), it also gives you heal !
-R+Q can chunk down enemy squishies.
-Ardent is a core item on her because she can give her whole team a buff.
-Support lane bully.
Cons:
-Not mobile.
-Needs to land skillshots perfectly on enemy carries.
-low range abilities compared to other champs that can do her job easily with lower risk.
-resource champion (relies on mana)
-needs 2 or 3 items to get going.
I play her top & build -> RoA - Spirit visage - Boots of lucidity - Void staff - Frozen heart "if heavy ad enemy team" / Abyssal scepter - Deathcap.
^This build allows her to be tanky, have tons of heals, and do respectable damage.
She is good imo, but she doesn't have an identity.