In trying to fix http://drupal.org/node/191197#comment-705056 (allow to import nodes in batch), I feel a bit sorry for the status of the various import export solutions in Drupal.
- importexportapi is somewhat dead
It is. But it's the most advanced and flexible solution currently available for Drupal. Many folks have contributed to ImportExport API, however the module seems to be unmaintained currently. The API docs are in an pre-alpha state, too. So it is definitely not easy to understand, how ImportExport API works, and how it could work out for your requirements.
- node import only accepts to import everything at once, and does not provide duplicate checking
While Node Import could be enhanced to support this dupe-checking feature of ImportExport API, the main difference is that it only supports nodes. However, from my own experience I can say that importing data into (CCK-based) nodes with Node Import works like a breeze.
- feed parser api and feed mapper seems to be a brighter future, but do not allow everything node import / importexportapi does
Didn't try them yet. According to the module names, I'd say that they fulfill a different purpose. ;)
So I'm wondering where to put my efforts. I'm trying to import 20.000 contacts as cck nodes, and allow user to reimport the same contacts and update the existing nodes, all with a nice import/export interface.
ImportExport is able to check for duplicates, but you have to dig into the API to get an idea of how this could be realized.
I think the first step would be to have standardized import / export format for a Drupal node, maybe xml based (I think there is a xml format for books only), with support for cck, taxonomy, and all.
ImportExport has been built to support a variety of formats. You can import/export from text files, XML, another database, aso. - it's up to you. ImportExport "just" needs a source data definition. Daniel