I delete everything. If it's in the trash, it's gonna keep on using database space for nothing. If something isn't suitable for the forums anymore, then I see no reason to keep it. If you are actively moderating, there's no chance for orphan threads / posts, since you can remove the junk as soon as it appears.
I normally just send posts to the trash. That way, if a post was moved to the trash in error, I can just move it back to where it should be. Like, if you have someone that makes a duplicate topic then you can just send it to the trash. But if you find out it's not a duplicate topic, you can move the post back to where it's suppose to be. But most will just get left in the trash.