I think if you're visiting a country, it's just respectful to abide by local customs as well as the laws of the land. When in Rome, and so on.
If you're actually going to be a citizen of a country, with the privileges of a citizen, then as I see it you're entering a contract. The state's going to give you what it gives every citizen - right to vote as it might be, right to welfare as it might be, whatever. In return for that, you take on the duties of the citizen - to obey the law of the land first and foremost.
Tolerance is a wonderful virtue in a democratic society. But "the price of freedom is eternal vigilance". Everyone should have freedom of expression, and freedom of worship. But those freedoms have to be balanced against the needs of other members of society - hence the pledge of allegiance new citizens take in the States (as a UK citizen planning to emigrate there in the New Year, I've been thinking about this one a bit!).
Ultimately, I'm free in (say) the US to think my daughter has disgraced our blood by having a relationship with the 'wrong' person; I'm free to tell her that. What I can't do is assault her, or kidnap her, or commit some other crime against her, and say 'but in my culture, this is acceptable'. That I can speak my own language and practice my own religion, dress according to custom, and expect these things to be respected and tolerated - none of this means I can break the law with impunity.
One of the reasons I'm leaving the UK is we seem to have lost sight over here of that contract I talked about. Nobody seems to know just what we do expect of a British citizen any more - Britain's being hijacked, not by the minority groups who practice their own different cultures, but by the moral and moralising majority that claim their right to do so trumps whatever shreds of cultural identity we retain as a country. And that's a shame. Nowhere's perfect - of course it isn't - but fragmenting a nation into little ghettos of medieaval culture is hardly a recipe for progress.