Update: there is now an official Stack Exchange blog post on this subject. I encourage you to read the whole thing yourself, but here are the most relevant excerpts:
As members of a community, your first loyalty should be to that community. When evaluating a question, you shouldn’t be looking to push it off on some other site; instead, ask if it could be appropriate and on-topic for you, the experts who the author decided to ask. Be a bit jealous of your site – don’t blithely turn askers away simply because their question could be asked somewhere else. Don’t hit them over the head with your scope, help them tailor their question to fit into it – and if that means your site’s scope overlaps a bit with another site’s, so be it.
Obviously, there are questions you’ll have to turn away, either because their only connection to your site is via the audience (“How do I make bread as a programmer?”), because it’s completely off-topic (“How do I cook a fish in a dishwasher?” obviously belongs on Cooking, not Home Improvement) or because they’re simply not useful or constructive. But that should be your last resort. Close questions with an eye toward improvement and re-opening, not driving users away.
And for you Apple.SE, AskUbuntu, and other folks who come here looking to grab some new questions...
Don’t attempt to scavenge on-topic questions from other sites by asking the moderators there to migrate them to yours. Again, there’s no harm in leaving a comment suggesting that a question would be a better fit somewhere else. But focus first on the questions that aren’t on-topic, or aren’t getting answered – snatching someone’s question (or answer) away without any forewarning is a slap in their face