Prevent the slug of a trashed page or post from conflicting with the slug desired for a new page or post.
This plugin implements the belief that a trashed page or post should not in any way conflict with a new page or post when it comes to slugs. In essence, a new page or post takes precedence over anything in the trash. After all, the page/post is in the trash for a reason.
By default, WordPress takes into account posts and pages that have been trashed when deciding if the slug for a new post is already in use. Obviously WordPress does not want to allow duplicate slugs because that could interfere with permalinks. The thinking behind WordPress's handling of the situation is that trashed posts/pages are still technically present, just inaccessible. It is possible that an author or admin would choose to restore a post from the trash, which WordPress feels should then occupy that same permalink as before it was trashed.
If what WordPress does is unclear, here's an example to help clarify things:
With this plugin, for this example, the new "About" page would get the slug "about" as one would hope.
That said, the plugin tries its best to restore untrashed posts to their original slug. The only time it fails to do so is if a new page or post has claimed the trashed post's original slug, in which case the untrashed post is assigned a new slug.
See the FAQ section for more insight into the plugin's functionality. See WP core ticket #11863 for discussion on the matter.