Suppose you have a dataset with credit card transactions, with binary labels indicating whether they were fraudulent or genuine. I suppose the user ID or card ID of a transaction could be viewed as its ''origin'' in the context of your question.
Now, suppose you have a single user / card ID which was used in multiple transactions. If it was a fraudster, it's likely they have multiple fraudulent transactions in the dataset (assuming they were not immediately caught and blocked). If you put some of these transactions in the training data, and some other transactions of the same user in the test data, those test cases may be too easy to detect for a trained model.
As an extreme case, suppose we include the card ID itself as a feature when training our model. It can simply memorize that that card ID was associated with fraudulent transactions in the training data, and have an unrealistically easy time detecting and flagging them in the test data. This model would start performing significantly less well in the future, when all those card IDs it has memorized have been blocked.
Of course, this is an extreme example, you probably wouldn't want to include the raw card ID as a feature. The issue can still appear in a less extreme manner in realistic cases though (for example, users may be memorized and recognized based on pattersn in their behaviour which are encoded in features).