There's two steps here. One's a machine step, and one's the human step.
The part you talk about is the human step. The machine step organizes the classes into packages and renames the classes so that instead of a, ab, bz, and cf you have Minecraft, Block, ItemStack, and GuiContainer (these names, I believe, also come from MCP, but I'm not sure where in the process it occurs). It also renames all methods, fields, and parameters called SRG names. These look like func_12893_f, field_90237_c or paramWorldIn1. MCP then is a remap from those to human readable names, which are supplied via interacting with the MCPbot on IRC.