Media Cleaner is a very advanced tool and I could write many articles about how to use it depending on every WordPress install. Remember: backup your install (database and /uploads directory) before using this plugin.
Pick your options, start the scan, wait (that can take time depending on your install – if it stops suddenly, check your PHP Error Logs). Check the files which are detected – are they actually not in use? Are you sure? Delete them with the plugin. They will go in the plugin’s trash and the database entry for the Media will be kept. Use your website for a while. Everything works? Trash them permanently by going in the Trash in the Media Cleaner’s dashboard. Many broken files? Restore them using the dashboard.
I have one website on which I use my images in posts only (this one: http://offbeatjapan.org). I set the Method on Media Library and the only options I check are Posts and Post Meta. Posts will check the content of my posts (and also pages, and other WordPress post types registered by your theme). Post Meta will check for usage in the related meta, which includes for examples the Post Thumbnail.
I have another website for which I only use my photos in galleries and/or as a Post Thumbnail (this website: http://haikyo.org). I don’t need Posts in that case, but I use Post Meta and Galleries. This Galleries option check the usage of the media in the Gallery shortcode of WordPress (so we are not talking here about very specific gallery systems, especially those like NextGen who basically override all WP rules and are not natural to WP workflow).
When my Media Library is clean, after the previous process, I switch to the Filesystem method. This will scan all the files in the /uploads and check if they are in use. For this, there are also many ways.
A good check is to select only the Media Library option with the Filesystem method. This will make sure that all the files in your /uploads directory are linked to a Media. Be careful, by only checking this, you don’t actually check if the files are used anywhere else. Maybe they are not in use, they are just registered in WordPress.
Another one is to check everything but not the Media Library. That’s useful if you uploaded files directly, or that your Media Library is broken for some reason.
Those are examples, of course there are many ways of using this plugin. Make sure you understand how it works and what it does. Again, this is a dangerous tool.
First, I would like to say that getting the Pro version will not make everything better. If the free has an issue, the Pro will not fix it. It wouldn’t be fair for me to do that to my users. The Pro version adds interesting options, but it doesn’t mean it works better.
It happens mainly for two reasons:
It means your images might have been used somewhere you didn’t suspect. Look at all your images and fine one that you are sure is not used anywhere on your website. Click on it in the Media Library. On the right, there is a little widget called Media Cleaner.
It will indicate to your something like: Seems to be used in a gallery, or Seems to be used in a post (and in that case, you will get a link to that post). Does this help you?
Make sure your options are set right. Have a look at your PHP Error Logs. Is there any error? Is it related to the plugin?
Please ask your questions in the comments below. Please check your PHP Error Logs before writing simply that it doesn’t work, it would be impossible to tell you why without it.