As one who has scratched out a few purpose-built minecraft mods over the past few years, maybe I can clear it up a bit.
It's a multi-step process. The initial de-compilation step is, indeed, just about as useless as you say: lots of net.minecraft.cx.func_11235_a()
But there's a project called MCP Toolkit, which basically goes through every new release and reverse-engineers as much of it as they can (usually a pretty good percentage too), mapping the obfuscated classes, variables and methods to names which, while possibly (probably) not the names used internally, are at least meaningful.
Minecraft Forge, the officially unofficial mod API, used to include MCPing the minecraft source as part of setting up its workspace. It was really handy when I was learning, being able to trace things back through the code to figure out how they worked, but had its downside. I'm not sure whether they got tired of people needlessly making coremods (mods that altered the "vanilla" classes, as opposed to interacting through Forge), or they were afraid of drawing an evil eye from Mojang, or what, but they've altered their whole setup starting late in 1.6.4 so they don't even download the vanilla jar anymore.