Yes, a lot of this kind of stuff is done for efficiency's sake, like messages vs. audio rate data.
also for efficieny's sake (on the implementation side), some of the newer graphical dataflow / patcher engines consider them one and the same, and solve the rate-efficiency issue by allowing a mix of a wide range of threads of varying execution rate (chuck calls them Shreds) in synch in the same subpatch...