For example, there is this question about headphones while programming. It was posted on Stack Overflow, where there was another question just like it (about headphones for a noisy office. 3 people voted to migrate the question to SuperUser, where it does not belong. Like the author said - programmers who work in an environment where they want to drown out sounds using headphones, audio enthusiasts, and gamers all have different needs. Since it was about programming, it rightfully belongs on SO.
However, 5 people voted to close the question, including myself. 3 people voted as "belongs on SuperUser" (which is clearly not true) and 2 people (I was in this camp) voted as exact duplicate with the older question as the duplicate. Now, it's on SO where the original author might not get the help he needs and it's not linked to the SO question that it is a duplicate of.
I think this proves the idea that users with the close power should not have the authority to migrate questions. The solutions that have been posted in the past can be found here. I'm fond of the idea of having a community say "this doesn't belong here" (eg - not programming related on SO) and having a queue for moderators (the star moderators) to go through and decide if it's appropriate to leave and keep closed or move. I'm also fond of having the community of the other site (mods or high rep users) vote to accept/reject questions that are pending moving, and if accepted, only then the question actually moves.
But what can be done?