Much of the importer is best refered to as "magic"...
In short, the code is designed to take "any" tabular data that contains categories, forums, topics, and members, and import it. This is possible because the code can bend over backwards to try and understand what is being imported.
The actual mechanism that allows the importer to work its magic is the import specification file. The file tells the importer what components are available to be imported, and what to do with the data.
Right now, we have import specification files for our own products, the Invision boards (1.2, I believe), and vBulletin 2.3. Writing a spec file for most database types takes very little time in comparison to actually writing new code just to import one particular product.
The same exact import specification file format is shared by all the new importers in all of our products. Right now, there are importers in the Eve platform, and in UBB.classic. The importer for
UBB.threads is a work in progress. (There is an existing standalone importer to go from UBB.classic to
UBB.threads.)
There are some limitations you need to be aware of. The UBB.classic importer uses an outdated CSV parser that may not be able to handle all of your data very well. When the database tables are dumped, they must be done in a particular way, with a certain minimum version of phpMyAdmin. (There are ways around this limitation, but they are not really part of the import spec, and thus can not be supported on these forums...

)
Importer performance is also less than spectacular - some servers may kill the import process if it tries to pull in too much data at once.
However, for almost everyone, the importer should work. And if not ... well, that's what support tickets are for.
