Doesn't giving out your email address just beg for a lot of spam?
Simply put: Not really.
Think about the stores that you shop at a lot. Are you at Kohl's once a week? Do the people at Macy's know you by name (well they know me by name, but thats because one of my friends works there and everybody knows him)? Wouldn't it be nice to be in the know about deals/special sales at your favorite store? I think so.
Most stores these days have a website where you can register your email address with them. Through this you can receive periodic emails about special sales or even coupons/promotion codes that can be used on your next order. Also, a lot of stores will have special promotions for your birthday that you can use the day of your birthday or throughout the month. This morning alone, I received 4 emails for my birthday (which is next Sunday, AHEM!!). In those emails, I have a free shake from Arby's, a special birthday "surprise" from Sephora, $10 off any $25 purchase at alloy.com, a free Dessert from TGI Fridays, and a free Burger from Red Robin - and my birthday is still a week away.
Read the fine print in the terms and conditions. Usually this is where they specify that they will not sell your email address to any other companies that could fill your inbox with spam.
If you are still concerned, do what I've mentioned before and set up a free email address through yahoo, gmail, hotmail, etc that is specifically for your retail subscriptions (I prefer gmail because they have an awesome spam filter), survey sites, etc. This way when you are sifting through your email you won't get it mixed up with personal emails and delete something that you shouldn't have.
And remember, you can opt-out of emails at any time if you decide you no longer really shop at a certain store or just don't want to receive emails. At the bottom of emails you will see an "unsubscribe" link. Just click that, and click the confirm button and you will no longer receive emails from that particular company.