Critical Chain-based PM is far more than a scheduling method, addressing not only scheduling in a way that respects uncertainty, but also rational launches of projects in a multi-project environments, simple and clear mechanisms for assessing project progress and the health of promises, and supports appropriate (dare I say "agile") resource behaviors.
And when I worked at Lucent, the success took one software-centric team in Naperville from a 70% on-time delivery performance to 90%+, plus a 50% increase in project throughput. Another Lucent success story, admited more hardware design than software, that I was peripherally involved in did better than that, cutting project leadtimes in half, to boot.
The failures (and they were to be expected in the early, bleeding edge days of the approach) came from the failure of management to provide anything more than lip service to their responsibilities to support the effort.
If Tom is pointing to 50% estimates as the source of uselessness in IT, then I suspect that those estimates were not fully understood, or implemented appropriately. No PM process can be expected to succeed if it isn't supported appropriately so that it can be implemented correctly.
To me CCPM is an ideal shell to use to manage software projects whether the work practices are based in agile/extreme/scrum/etc concepts or not, because, compared to CPM/WBS-based approaches, it is far more comfortable in dealing with uncertainty and variation, of both task durations and iterations.