Apart from because they can, the need to raise page ranking in search engines gives rise to the need to create a lot of links to a web page so the search engine thinks that page is important.
This is not an easy answer. Spammers use different tactics, and each plugin will use different tactics in response. There is no plugin that will keep you spam-free forever. Comment spammers can download the plugins, see how they work, and figure out a way around them.
Check plugin authors' sites for updates. WordPress makes it easy to find updates via the Plugin panel and the link to the plugin author's website.
Comment spam technology is changing fast on both sides, so keep updated with the latest news on comment spam techniques and WordPress Plugin options.
Visit the plugin author's site to see if they have already offered a solution, and if they offer support directly. If not, search the forums first before posting as the answer may be there. If there is no answer, then post a support request on that plugin's support forum.
Comments that are marked as [spam] will be held in your database to educate "intelligent" anti-spam plugins, such as Akismet.
If you do not have comment spam plugins or the latest version of WordPress installed, this may happen. Upgrade or install one of the comment spam plugins and manually delete the comment spam from your Manage > Comments panel.
Go to the Options > Discussion panel and make sure that An administrator must approve the comment (regardless of any matches below) is unchecked. With that option selected, all comments are sent to the moderation queue to await approval. Make sure that Hold a comment in the queue if it contains more than x links is not blank and contains a number higher than zero. If this value is blank or zero, all comments containing links will be moderated. If the option mentioned above is unchecked, the link moderation value is higher than zero, and you still have this problem, your Spam Words list probably has blank lines, punctuation marks, or single letters between the information in the list. There should be spaces between the listed items or each item must be on its own line. If you have done this, then upgrade the comment spam plugins you have installed. If this continues to be a problem, deactivate the comment spam plugins one by one to determine the culprit and contact the plugin author for help.
If you have unchecked Allow people to post comments on the article on the Options > Discussion panel, then you have only disabled comments on future posts. To completely disable comments, you will have to edit each past post and uncheck Allow Comments from the Write Post SubPanel. Alternatively, you could delete the wp-comments-post.php file, or run this MySQL query, from the command line on a shell account, or using phpMyAdmin: UPDATE wp_posts SET comment_status="closed";
If you have unchecked Allow link notifications from other Weblogs (pingbacks and trackbacks.) on the Options > Discussion panel, then you have only disabled trackbacks on future posts. To completely disable trackbacks, you will have to edit each past post and uncheck Allow Pings from the Write Post SubPanel. Alternatively, you could just simply delete the wp-trackback.php file, or run this MySQL query, from the command line on a shell account, or using PHPMyAdmin: UPDATE wp_posts SET ping_status="closed";
Yes, it is. Please be sure to drop by the plugin author's page and say "Thanks." They deserve the appreciation and look forward to hearing about your suggestions and experiences with their work. This will no doubt help to encourage them to continue the development of their plugin(s).