If you front-end data (or a data store) that you don't own (or don't have control of), then you need to replicate/sync data (instead of virtualizing the view).I might not be reading it correctly or maybe Matt's notes are slightly off but I always thought it was better to use a virtual directory for data that you don't own. A good example here would be HR data. The typical metadirectory or IT/IS project is not going to have read/write access to the HR system so there's no real need for a metadirectory, per se, as the metadirectory will never be writing back to the HR system. From my perspective if you "own" the data store then you can replicate or synchronize the data in it. If you don't own the data store then you can only pull (read) from it.
I completely agree with Matt that both virtual directories and metadirectories should be part of your overall toolbox. I look forward to the day we won't need to make this distinction anymore.
So I am not sure if we have a pure blue and pink litmus test for this yet...