Forcing somebody to opt-in, by making them check a box that says, "I agree to X" before you'll let them buy from you (or even register) is a bad idea. It's just plain lame. I've run into this a lot over the years -- and I am well aware of what happens. When you force people to opt-in, you drive them away from your site, or you drive them to enter fake data and dirty up your list. If they do put in the right info, that still doesn't mean they want those follow up emails from you, and they're going to report that mail as spam.
So why is Pizza Hut forcing people to opt-in? A lot of those users, probably more than thirty percent of them, just want to order a pizza. They don't want to sign up for additional emails. (I pulled that thirty percent number out of a hat, but only slightly. It's potentially on the low end.)
Think about it, o savvy sender: Do you really want to end up with a list where 30% of the people don't want to be on it? Do you like spam complaints and a poor sending reputation?
Call me strange, but I'd prefer to have a smaller list of just people who want to be on it. Seems like more of the mail would get delivered, and you'd end up with more orders than if you had a bigger list that got your mail blocked all the time.