Best Buy is offering a $50 discount on all iPhone 5 and iPhone 4S models from Verizon, AT&T, and Sprint for the next four weeks. That means you can get an iPhone 4S for as little as $49 and an iPhone 5 for $149. You will, of course, need to commit to a two-year contract. Given Apple's strict control on pricing, these sorts of promotions are rare, so it's a good time to buy if you're in the market for a new iPhone. There's no discount on the iPhone 4, because it's already available for free with a two-year contract.
An obvious consideration, though, is that a new iPhone will likely be arriving in September. Do you buy now, or do you wait four months until the next model arrives? If you buy now and the new model ends up having features you want or need, you'll be kicking yourself. On the other hand, there's always risk associated with being an early adopter of a new model. Sometimes the first devices of a new generation will have glitches. So some people might decide this sale is a good opportunity to get a solid, popular device right now.