The CAN-SPAM (Controlling the Assault of Non-Solicited Pornography and Marketing) Act of 2003 was controversial from the start. I think it's fair to say that nobody thought it would solve the spam problem, but many (such as this guy) thought it could help.
Has it solved the spam problem? No, of course not. Has it helped? Yes, marginally.
It has helped in two ways: First, there have been a few prosecutions under the law, basically of high-profile spammers who were also being prosecuted under other fraud-type offenses. CAN-SPAM is, in such cases, at least some leverage for prosecutors. But that's a very small benefit.
The other big thing that CAN-SPAM did was to set rules for businesses to follow in order to do mass-mailings. These were the most controversial part of CAN-SPAM because they were opt-out instead of opt-in. This is why critics said, and continue to say, CAN-SPAM "legalized spam." But it did also require that those businesses make opt-out provisions explicit in communications and to observe them, and this is an improvement over the past.
Many will say (and yes, I have seen your complaints) that some businesses don't follow through on these opt-out requests, but the real spam problem was never this sort of business. The spammers sending the overwhelming majority of the spam out there are not even pretending to comply with these laws.
So what can be done? I spoke with Greg Shapiro, CTO at Sendmail, the prototypical mail server company. He advocates for sender authentication and domain reputation checks. I've been on this bandwagon for years, although my recent realization that Webmail-based spam undermines it has dimmed my enthusiasm, and Shapiro acknowledges these problems. They need to be addressed through proper network etiquette, which means that ISPs and other mail providers, including Webmail providers, need to rigorously monitor outbound mail through filters and network pattern analysis to look for spamming behavior before it leaves their network.
These aren't perfect measures by any means, not that I have better suggestions. In fact, I assume that Webmail providers are doing what they can now to enforce "network etiquette" within the bounds of cost and other considerations. The real problem they have is that their CAPTCHA tests for account signup can be hacked and scripted so that attackers can create enough accounts to live within the bounds of network etiquette.
Years ago I even toyed with the idea of replacing SMTP altogether and dismissed the idea as impossible, no matter how great the benefit. Now it seems that the benefit wouldn't be so great after all. (Good thing they didn't listen to me ...)