why cant I buy it no-contract and why do I have to wait 30 days?
Did you not read the full article?
Wal-Mart will be cutting the price of the iPhone 3GS down to $97 with contract starting on Tuesday.
You CAN buy it without a contract, but it will cost you $599. iPhones aren't THAT cheap.
The 30 days thing is if you buy it with a contract, wait 1 month and pay the ETF as well as the month's service. If you cancel it before 1 month you have to give the phone back.
But be careful, AT&T is going to up their ETF to $325 on June 1st. So it could cost you 97+325+70 = over $500.
So no, you can't buy an iPhone w/o a contract for just $97