Having spent a great deal of time developing Microsoft Content Management Server 2002 solutions, I've found there's a bunch of stuff I miss from the MCMS API. The single thing I miss the most:
CmsContext.Searches.GetByGuid(string) as HierarchyItem;
Being able to get any object - Channel, Template, Posting, Resource - by just it's guid was huge. Even cooler was that you could grab an object out of anywhere in the hierarchy/taxonomy. In SharePoint, you have to know the Web, List, and Item guid to find anything. This one method in MCMS allowed a huge number of possibilities for custom dev with very limited coding time.
Another thing I miss from MCMS is the functionality of Connected Postings/Templates and an API that could CRUD them without hardly any effort. I know Variations in SharePoint comes close, but IMO, it just doesn't seem to be at the same level and simplicity of MCMS. Also, there's very little documentation around any of the Variation related objects because they've all been marked as internal.
Luckily, Michiel Lankamp figured this out - a long time ago - using Reflector (duh) and exposed that yes, everything in SharePoint is a list (thanks Matt). As Michiel points out, there's two variation lists. One called VariationSettings and one called VariationLabels who's guids are stored as Properties on the root web of the site collection.
Once you get the lists, how do you create the hierarchy? Check out Michiel's post to see how. Pretty clever...
I haven't tried this, and based on the four comments, not many other people have, either. Also looks like it could be buggy.
Enable variations programmatically - Michiel Lankamp