If the price is fixed because Apple (or whoever) won't sell the iPhone (or whatever) below a certain price to resellers, then I don't think it's a bad idea. If it's fixed at the other end, of course it IS a bad idea and should be illegal, if it isn't; certainly the spirit of the law is against such a practice, whether the letter is or not.
In any case, it's not Apple's job to control it's prices, it's OUR job. If we don't like the price, we shouldn't pay it. Buy a competitor's product or do without (there's not actually anything the iPhone does that no one else does, anyway).
The business of making things cheaper for Wal-Mart (for example) leads to products that actually ARE cheaper; they're built in a cheaper way, and hence lesser-quality products, and sometimes we as consumers can't tell the difference by looking at the label. Buying a TV and think you're getting the same one at Wal-Mart for less? Before you buy it, check to see if the actual model number is the same, because it may not be the same product, and often isn't.
Of course if you don't care, by all means buy the cheaper product, but if you start being able to buy iPhones cheaper at Wal-Mart than from ATT, I suggest you look at the fine print. You may be getting an inferior product for that lower price.
Then again, maybe not; deals are certainly made based on volume sales, and Wal-Mart is a very big customer - so maybe they got the same product for less money and can pass on the savings to you. The better price might be for that reason alone. however, I think it is a mistake to assume that (unless, of course, you just don't care).
😉