The morality of Baine not killing Magatha

It really depends on whether you ascribe the deeds of her pawns and tribesmen to her. Atleast Jaina killed an enemy king, rather than murdering her own supposed leader.

The Grimtotem have also fought with the Alliance against the Horde in Stonetalon, aswell as enslaving and killing wildlife, burning inns and razing villages.

They even poisoned wells…