I married someone who was classed as a foreigner 3 years ago...and I believe it was the best thing I've done, ever. I love my husband to bits, he's fab-o.
But you mentioned marrying people due to get citizenship in certain countries...I'm totally against it. It's quite nasty that one would use another human being based on their colour of their passport. Don't get me wrong, I know full well it happens I just don't support it.
A cousin of mine married her cousin who had declared quite openly he didn't like her he just liked her passport. He'd call her fat whilst she was pregnant (note-she was pregnant and alone in the UK whilst she was applying for his visa) and didn't support her at all. He didn't really act like a husband should-no support, no love nothing. He thought that as she was pregnant and his cousin his visa was a garentee, 100% cert.
Sadly for him, she had the baby and dumped his sorry backside. 4 years on she is seeking advice from local scholars as he won't give her a divorce (hes still in Pakistan, shes in England).
So that's just one example of marrying for citizenship and how it can go wrong. It's plain wrong to use someone.