The only complex thing about Twitter is its size, and I bet their developers are working round the clock just to keep it from falling apart.
I've worked on many Rails apps, and have upgraded the apps from version to version. It's a pain when key elements of the API shift, but it's not that bad...even when the project has monkey-patched Rails a lot. And twitter certainly has the resources to afford to dedicate a few programmers to this task, so I'm just not sure I buy it.
Supposedly, the problem was caused by Cache Money, but nobody at Twitter wanted to risk moving to a different version again. They're still on 2.0 today. :-)
Another fun fact: Twitter has over 1,500 remote git branches. They also have bright green deer in the reception area of their office. :-)