the Remote interface provides support for passing more elaborate datastructures.
The point here, I think, is that it does so by converting the elaborate datastructure to a string, which is then passed. It's not that strings can't be used for anything, there's just some overhead that needs to be taken into account.