We typically prefer to use the produced/consumed model of passing tags between PLCs. It’s deterministic which means that the tags will be updated consistently at the rate specified by the tag. That being said, the MSG has to be used for most non-recent PLCs: MicroLogix, SLC, etc. The drawback of the MSG instruction is that it may fail, retrieve the information at a slower rate and fail to verify the consistency of data.
The other drawback of the prod/cons model is that you must download to the controller in order to add the tag structure. This may not be possible as machinery may be running at the time, so we do use MSG in this case until we get the downtime to perform the download.
Hope that helps,