AT&T introduced a limit (i.e. data cap) to the bandwidth for wireless subscribers in early 2009. The justification was that they need to limit usage in order to handle the flood of new data customers. The skeptic would also point out that it allows AT&T to charge overage fees.
In theory data caps are fair — users pay for the amount of data that they use. It does require predicting your usage but there are many options for handling prediction errors. AT&T allows users to backdate features on their account, including the data plan, which goes a long way towards removing the forecasting burden. Providing users with simple and accurate tools for monitoring usage is essential to consumer happiness.
The implementation of data caps contain a few pecularities. AT&T places restrictions on the type of traffic which is allowed on the network. In particular, FaceTime is forbidden and tethering requires an additional fee. While this made sense under an unlimited plan, there is no reason other than greed to continue these practices if each user is paying for a certain amount of data.
Data caps provide an opening for smaller telecom companies to differentiate themselves in the market, which is ultimately a good thing. So I have no problem with data caps, but do not tell me how to enjoy the few bits I paid for.