I was always mindful of Sisko's and Picard's differing decisions.
Here, Sisko has a Cardassian child raised by the enemy and ultimately returns the Cardassian to his home.
Picard has a human child raised by the enemy in "Suddenly Human" and tries to return the child to his home... but then stops and lets the child remain with the only family he's ever known.
Sure there are differing Cardassian, Human, Bajoran values involved, but it's a very similar situation and the two captains come to opposite conclusions. Interesting.
I think political considerations come into the picture. The custody case with the Talarians was causing trouble there, so eventually the kid was left there to keep the issue from threatening relations. With Rugal, the kid was being used as a pawn in political machinitions on Cardassia, being part of a scheme by Dukat against a prominent politician. Normally, the Federation doesn't get involve in internal politics, but this was a case where it became 'international'. There was no easy choice but it looks like there were 3 motivating factors behind sending Rugal to Cardassia:
1.) The question of verbal abuse. So much self-loathing and being told by others how much Cardassians are evil can lead to a hellish, tormented existence on Bajor for Rugal. His wellness on Bajor is in question.
2.) The biological father was shown to have not abandoned Rugal. In fact, the child was taken from him. He thought the child was dead for years. Add in here he seemed hurt by the whole affair and how central family is to Cardassians.
3.) Dukat. Dukat was using this issue as a time bomb to defeat a potential rival down the road. Uncovering his involvement was a way to defeat him at this scheme and Sisko likes beating Dukat.