Wp All Import is a great plugin to import any kind of data into your WordPress site.
You can import XML, CSV/Excel, JSON, SQL and in any kind of structure for posts, pages or custom post types.
With a simple and very easy to use drag and drop system to indicate what information is for what data base field.
The free version is very limited, it won’t work for the images or custom fields, wich I think you probably need in almost 100% of the cases. So if you are not a developer this plugin is worth the price.
I will tell you an example of when this plugin can be usefull. Imagine you run (or you have a client that runs) a portal of classified ads, a property portal or something similar, and you constantly have to import files with data from other external websites where each one sends you the data in a different structure and format. This plugin is great for that as you can also save the settings for each import as a template, so you only need to set up the import once and then load the template each time you need to import new data sent by the same source.
Check out the video on their wordpress.org page
Note: I used it in a site that manages classified ads, the user is able to create an ad, after that he receives a notification by email confirming the ad has been created. When I did the import of 1000 ads asigned to an author, the server tried to send 1000 email notifications. So be sure to turn off email notifications on this case scenario.