There’s a subtle difference between having your email address broken and bouncing spam. If your email address is broken, it usually means the destination server doesn’t recognize the recipient address. This check is fast enough that it can be done while the message is being sent. The destination server returns an immediate error to the spammer and never actually receives the message.
Because spam scanning can take some time, most mail servers don’t do it while the message is being sent. Instead, the destination server accepts the message, saves it to disk and runs the spam scan later. In this case, bouncing the message involves sending an error to the sender. But since spammers almost always forge the sender, such an error will either not be delivered or will go to an innocent victim. For this reason, it’s usually a bad idea to bounce spam/viruses.
I don’t think the hard-core spammers pay attention to either kind of failure; it’s just not worth their time to worry about errors. I used to have a catch-all address on my domain, which meant I’d receive spam addressed to a bunch of made-up addresses. Turning that off hasn’t cut down on the amount of spam I receive.