AT&T's problem is that they just one day up and decided to start throttling unlimited customers (down to 10-20% of their normal speed) without a warning, and without it being made clear in any of their marketing material or contracts.
The reason why I call these programs "good" is that they all but eliminate overage charges from a consumer's bill. With limited data, you often get charged excessive amounts if you go over your cap (disproportionately large amounts at times).
So for example, if a consumer got their teenager 2 GB of data, and that teenager ran up a 5 GB usage bill one month, that could be an additional $60 charge ($20/GB) out of the blue. Unlimited-throttled data averts that possibility (and the teenager in this example is the only one negatively impacted by the excess usage).
This is how T-Mobile currently operates on all of their Simple Choice plans (both unlimited and limited). They have scrapped overage charges (so there is no bill-shock) and instead just throttle you down.
The only major difference between what T-Mobile currently do and what AT&T were doing, is that AT&T lied and hid it, and worse still charged customers ETF if they left as a result. T-mobile is completely upfront about the policy and how it is enforced.
PS - T-Mobile also do the same thing for roaming data, no overage charges.