Mail servers can return errors to submitted mail messages in two ways --- by rejecting the message, or by sending a bounce message. In the early days of email, there was not much difference, but there is a significant difference these days.
When a mail server is handling an incoming mail message, it can return an error code to the sending mail server and discard the mail message. This is termed a reject. Because the mail message is never accepted the responsibility of returning an error to the original sender is the originating server.
Alternatively once a mail server has accepted a mail message, it can later decide to return an error message back to the original sender as an ordinary mail message.
Because of the massive amount of mail being sent by worms, viruses, and spammers that have forged sender addresses (quite frequently real and working addresses) the second form of notifying the sender of errors is causing problems. If your email address is widely known, you will receive bounces for mails that you haven't sent ... if you're unlucky it will be very large numbers of bounces.
Wherever possible, using the bounce form of alerting senders of errors should be avoided especially when checking incoming mails for viruses. Particularly during mass virus outbreaks (such as Mydoom), bouncing error messages telling innocent victims they have sent a virus qualifies as a denial of service attack. And in normal times, bouncing errors to inappropriate places counts as spamming.