Why? If you look at the details, it's actually CHEAPER.
Pay $199 for a phone on Verizon or Sprint, but pay $0 for a phone on AT&T Next
$21/month is $504 after 2 years. But you get a savings of $15/month off your bill by going with AT&T Next - so you save $340 - actual cost is $504-$340 = $164. CHEAPER.
I actually think you'll get many more people making the switch TO AT&T when they find they can get a phone NOW for $0, and the other carriers force them to pay $200 up front. People will ignore the fact (at purchase time) that their bill will go up month to month. Then, of course, they'll complain later.