As data is charged per packet use as opposed to time use (as with GSM) it is difficult for the user to know the cost of a particular service in advance.
No two operators/suppliers use the same price plans although many are similar.