Stack Exchange's policies haven't been clear or consistent, so I'm going to describe the policy that I apply, as a user or moderator on the source or target site of a potential migration.
Obviously, migration should only be considered if the question is off-topic on the site where it is and is suitable (on-topic and good quality) on the potential target. Some allowance can be made if the question is not really off-topic on its original site but is somewhat marginal and the asker agrees to the migration. Another consideration is not to migrate questions with heavier voting than the target site normally sustains, because that makes it impossible for the target site to rate incoming answers (the problem is that migration retains votes, which doesn't make sense). Graduation doesn't affect any of these criteria.
The fundamental rule of migrations relating to a site's age is: no migration from or to a site during its very early days. Very early days is longer than the private beta. That's the period when a site's community needs to focus on kickstarting its own content, and not on curating other people's, hence no incoming migration. That's also a period during which on/off-topic needs to be considered carefully, hence no migration which might prove to have been done in error because the community decided that the question was on-topic after all (perhaps after some editing). The minimum threshold where I will consider migration is when a site has moderators. Not only does that indicate a milestone where the site is beginning to find its marks, but that also means that someone with good knowledge of the site is here to intervene if something goes wrong (e.g. needing to reject the migration).
The more established a beta, the less reluctant I am to migrate to or from it. “No migration to/from beta sites”, which SE has sometimes said, makes no sense for beta sites that have been around for several months and have a clear scope definition. Such a rule would have benefited no beta that I've ever been part of, after the initial few weeks.
On Computer Science (where I'm a moderator), incoming migrations are fine. It would entirely make sense for us to have a migration path from Theoretical Computer Science, which regularly gets questions that are off-topic there solely because they aren't research-level; what prevents us from having one is an administrative rule which benefits neither site. I'd be more reluctant to have an incoming migration path from SO or Programmers, because I don't trust either site's community to know what computer science is. Migrations validated by someone who does understand what the site is about are perfectly fine, and I encourage the migration of decent-quality computer science questions from sites such as SO, Programmers, Crypto, etc. Conversely, CS.SE migrates questions out — we get a lot of programming questions, and we do migrate some of them (but we close a lot in situ, because the kind of people who ask programming questions on CS.SE are typically not the best at asking, even if they didn't post on CS.SE just to avoid a question ban on SO).
On Software Recommendations (where I'm a moderator), incoming migrations can be fine, but if anyone suggests asking anything on SR.SE, please do make sure that you're familiar with our question quality guidelines and please link to them. SR.SE is unusual among SE sites in that it has fairly heavy-handed moderation; we close questions that don't have precise enough requirements or a statement of purpose, and we outright delete answers that just say “use this” without explaining how that fits the question. I would not want any migration path to SR.SE any time soon, because I don't trust any community to apply our quality guidelines. SR.SE gets few off-topic questions that could be asked elsewhere so outgoing migrations are not really an issue.
There are other site pairs where a migration path would be clearly warranted, which is only held off for the administrative reason that one of the sites is in beta, and not for the good of the site. Among the betas I frequent, only Crypto → Security, Crypto → SO, Security → Crypto come to mind (in addition to CSTheory → CS and maybe CS → SO), but I'm sure there are plenty of others.