It allows you to add any* script to any VM (including DispVMs) and have it executed at every start. The script can be plaintext or base64-encoded, like in AWS EC2 user-data.
On my dom0, the bash command-line length limit is:
[user@dom0 ~]$ getconf ARG_MAX
2097152
… which is exactly 2 Mib. You have to deduct another 20-30 bytes for the rest of the command-line, but all in all, that is AMPLE space for your startup script!
Edit: there may be other, more stringent, restrictions for the qvm-features command
Yeah, well … I was thinking about the command-line used by qvm-features to store the script (see the git repo) : qvm-features QUBENAME vm-config.user-data ONELINER/BASE64ENCODEDSCRIPT
And the base64 encoded script is not compressible while staying command-line friendly.