My apologies to anyone who already knows all that I am about to discuss, but I am sure most readers will value one or more of the following comments.
With very few exceptions you only get spam by revealing your address(es) to unscrupulous organisations.
Fortunately I don't get a lot of spam as I take certain precautions.
My ISP (as do most) fortunately allows me to have several email addresses, so if ever I feel that I might be at risk of revealing my email address to a potential spammer, I use a dedicated address, which I can always discard if necessary. Having my own domain name means that I can have limitless addresses. (Registering your own domain isn't expensive, I got mine free for the first two years when I changed ISP.) If I subscribe to a web site I always use a new address, which I can then subsequently filter out if necessary.
While it is common and sensible advice to not click on 'Remove me' links, at the end of emails, I believe reputable organisations will do this.
Recently I was talking to a stranger in my local pub, and she told me that she works for a local company who specialise in email junk marketing. They collect and sell addresses from street surveys, etc. Use another email address, unless you collect spam!
When sending mail to close friends I use another address, hoping that friends won't reveal it. I use another address for newsgroups, although if you submit to newsgroups via Google Groups you can control what is displayed.
If I am currently seeking a new job, I use another dedicated address for recruitment agencies, which I would discard when (if?) I get a new job.
If, for example, I need to register an email address with an organisation I always use 'Their Name @ my domain name' That makes it very easy to check if they ever sell my address. They rarely do. Also, if you do get spam from a reputable organisation, I have had success with forwarding it to 'abuse @ Their Name', or to 'abuse @ Their ISP'. You can often get the name of a sender's ISP from using your email software to view the Internet header. (With MS Outlook, right-click on a mail item and select Options. The header is displayed.
Do not ever use sites like www.removeitforme.com (name slightly changed!) which claim to remove your details from all spam databases. It doesn't do what it claims to. I created a dummy Hotmail account, then registered it with removeitforme.com, and within days I was getting spam, but actually very little.
Ask friends not to add your name to Internet junk type of emails, cartoons for example, or at least bcc: it (blind copy) rather than revealing your address to all their friends. Those lists get bigger and bigger and bigger each time they get forwarded. If I ever do want to send an email to a list of people, I always send it to myself, blind copying (bcc:) all the others.
For adding my email address to my web site I use a free utility called EmailEncoder which generates a tiny block of encrypted HTML that I add to any relevant web page. Genuine contacts can click on a link as normal which opens a blank mail message, correctly addressed to me. Any internet robots will not be able to 'see' the address through the encryption. To see it in action, view the source code of my puzzles.html page.
Alternatively, if you want to put your address unencrypted on your web site, add junk characters to it, followed by a message stating what to remove. Avoid just the word 'SPAM' as some robots will detect that.
Finally, most email client software has some sort of filtering. It is tedious to set it up, but once done, spam goes straight to the Waste Basket, or can be deleted completely. It makes you feel a bit better if, although you receive spam, you don't actually see it! It doesn't reduce the time that it takes to download your spam though! Most filters also have override options, so anything with 'Your hobby name' in it will not be deleted, even if it includes words such as Viagra, Nigerian Money Scheme, etc etc.
The hardest spam to discourage doesn't happen a lot, but I get email from a site about once a week (it gets deleted automatically, but I know it's there), and the sender's address is always different, and 'my' address isn't actually shown. Sadly there is software which allows 'spoofing' of addresses, which makes an email look as if it came from somewhere else.
Many ISPs have options to delete mail from certain addresses before you receive it. Check with your ISP.
None of these suggestions are foolproof, but they are all free and only take a few seconds to implement. Go for it!!