Table prefix is a string of alphanumeric characters prefixed to the name of the tables. It is typically a configuration option in most of the content management systems like WordPress or for that matter vBulletin.
XenForo developers have decided against the use of customizable table prefix and have hardcoded it as xf_.
There aren’t any major benefits apart from the fact that one can run more than one XenForo forum from the same MySQL database.
Note: We aren’t referring to the same MySQL but we mentioned under the same MySQL database. In a single MySQL installation, one can have unlimited MySQL databases.
The need to run more than one forum, using the same MySQL database is very rare. To install more than one XenForo forum, one can always create a different database. All modern web hosts have an option to create unlimited databases.
The other argument is, keeping the table name as an unknown with the help of table prefix can keep it safe of SQL Injections as well as keep the hackers away. This is a very vague statement because if a hacker knows the table name, there isn’t much to gain out of it. If a hacker has found a loophole and is able to execute SQL, the table name is just one query away. On top of that the counter-argument is, if one instance of XenForo is hacked, the other may be hacked easily because being in the same database but having them in a different database can safeguard it.