I wouldn't say that it doesn't work. It does work quite nicely. The problem is that many modules are written in a way that just prevent any caching.
For instance, consider module that implements hook 'displayHome'. Thirtybees assume that, since this is displayable hook, its output can be cached. But this assumption might not be true. The hook can have 'side effects' if the hook is not called every time page is rendered, the module will not work as expected. For example, this hook it can insert or update data in database, perform webservice call, do captcha validation, etc...
TB, of course, have no way to know which hook implementation are 'pure', meaning its output is based solely on input parameters, or which are impure (with side effects). So it can't automatically decide what output should be cached, and which not.
Unfortunately, merchants have to step in, and do this decision -- they have to mark which hooks are cacheable, and which aren't (using those red and green toggles). The problem is, of course, that merchants don't have this information as well. Then can only experiment, and see what works and what now,... and hope for best. So, it's pretty easy to come to the conclusion that the OPC is broken
These are the reasons why usage of OPC is not encouraged. It exists only because some very tech-savvy merchants use it to fine tune their store, but for general audience it's not really useful.
Thankfully, tb is pretty fast even with this cache disabled.
I would, actually, vote for removing this from core to separate module.