If you use the third-party commenting system Disqus, you’ll want to read the following post by Zemalf.com. In the post, Antti explains that although you can mark comments as spam which are then removed from view in Disqus, the comments are not removed from the WordPress database. Therefor, even though the comments are not in plain view, they show up within the source code HTML that renders the page by Disqus.
Spot a comment from “normal” comments that was spam, removed from Disqus, but still in WordPress database etc… Not a problem, Disqus wouldn’t show a comment removed from its own system and only existing in WP database, would it? YOU BET YOUR SORRY ASS IT WOULD!
Within the comments of the post, Daniel Ha who represents Disqus confirmed the behaviour and noted that it would probably be fixed in the next release of the plugin.
1. When you mark a comment as spam using Disqus, that information is not synced back to WordPress just as you pointed out. At one point, Disqus did do this action, but it proved to be unreliable performance-sensitive.
For example, if you’ve marked a two-year old comment as “deleted”, Disqus would need to constantly scan your 2+ years worth of comments to see which one has to have a synchronized state. It’s no problem for us, but it could prove very problematic for your own database. We’ve since nixed that functionality because of the issues that it caused. We’re currently looking at ways to do this again but in a way that won’t be otherwise damaging.
2. The content in your HTML is retrieved from your WP database. Because your local database still has the comment, it will still be rendered onto the page. I don’t think the current solution is the best, and I’m positive we’ll have a better one soon.