A quote from Apple’s documentation:
Virtual hosting is a method you can use to host more than one domain name on the same computer and IP address, with overlapping mail user names.
For example, a mail server can receive mail transfer requests for two domains, mail.example1.com and mail.example2.com, both of which resolve to the same IP address. For mail.example1.com, the server delivers mail to “email@example.com” to a user mailbox for “bob,” while it also delivers mail to “firstname.lastname@example.org” to a different user mailbox. Virtual hosts are essentially the converse of local host aliases.
So when do you need to use virtual domains?
If you host mail for many organizations, and you need email@example.com to be a different mailbox than firstname.lastname@example.org, then you need to use virtual domains for your mail service.
The typical small business with a few domains, does usually not need to enable virtual domains. email@example.com and firstname.lastname@example.org are the same person and use the same mailbox.