I'm careful who I give my personal email address to so I don't get much junk mail.  Many stores ask to add me and I just 'no thanks' at the checkout counter.  Some stores also ask for your phone # and I never give that out either.  Phone spam seems far more prevalent then junk emails.  If caller ID shows a number we don't recognize, we let it go to voice mail.  Have NEVER had any spammer leave a message since they obviously know you won't be calling them back.  
When shopping online many offer the option to checkout as a 'guest' and that also avoids random stores from gathering emails they likely turn around and sell to others.  Particularly a store I might only shop at one time or very infrequently, there is no reason to give them my email address.  Have found a few online shopping sites that won't let you look at their merchandise without first providing an email for 'verification'.............ummm no thanks, plenty of other places to shop online.