Feeds (http://drupal.org/project/feeds) is a very popular module. From the project page, we get a nice description of the module:
Import or aggregate data as nodes, users, taxonomy terms or simple database records.
The basic idea is that you throw a csv file to it and it creates drupal content. As simple as that. The input format can be more than just a csv, check the project page for more details.
We can use the feeds api http://drupalcode.org/project/feeds.git/blob/HEAD:/feeds.api.php if we want more functionality than the standard.
I am going to describe 3 different uses of the the feeds api:
- Perform an operation after a feed source has been parsed, before it will be processed
- Perform pre-save operations
- Add additional target options to the mapping form