Translation-rule and translation-profile are very similar. Translation-rule will gradually be phased out, so try using xlate-profile if you have to chose between the 2. They are applied at dial-peer levels and voice-port levels. Translation rule/profile ccan be used to manipulate calling as well as called number info.
Num-exp on the other hand is global rule and only works with destination number.