I do not have much to say here except I have seen many cases where tolerancing was wrong in mechanical parts.
A general rule is that if you need to assemble parts with a hammer since you can not slide them in your self, it is not correctly toleranced and can cause problems later on. Also if you need to assemble it with a hammer if you later need to fix something it will be extra difficult.
Another trap for new players is remembering what tolerances are achievable in manufacturing. In Solidworks (or whatever your favorite CAD program is) you can design immaculate parts that work, however in real life parts are not made perfectly. Leave room and plan for this! If you tell a machine shop you want “1 tenth” tolerance for a normal part they will laugh at you and just brush it with their hand to remove the dust to achieve that reduction.
As a reminder in machinist speak 0.1″=100 thousandths, 0.001″=1 thousandth, and 0.0001″=1 tenth. Thousandths is also refereed to as just thou.
Besides for plain old mistakes there are two common problems I see:
1. Anodizing. Parts are made for an exact thickness which should just barely fit however once anodized it no longer fits and either a hole needs to be reamed bigger of the anodize coating needs to be removed from that section of metal
2. Thermal. All the time people forget thermal expansion. Remember you need to design things to work in all conditions that the robot will see. For example if a robot is designed to work in Los Angeles (warm/cool climate) but you are testing it outdoors in New York (where it gets cold) it also needs to survive the cold.
Image from http://img.deusm.com/designnews/289/289388-FloTHERM_Reborn_as_A_Thermal_Design_Problem_Solving_Tool_A.gif