Hi, as far as I understand:
1. Route Target, is an extended community send it as a BGP attribute. The idea is that you can filter wich routes install (or advertise) in wich VRF using this. You can filter using the import/export commands.
2. Route distinguisher. It?s used to make the ip address unique. The idea is that you can use the same address space in differents vrf. both the ip address and the route distinguisher forms a vpnv4 address (ipv4 address + rd = vpnv4 address), this kind of address are exchanged between routers in an VPN L3 scenario (that?s why you should enable MP-BGP using address family vpnv4).
RD (Route distinguisher) is used to make the customers' prefixes unique on a single PE router (providing address space overlapping), by simply being added to the customer IPv4 address to make a unique VPNv4 address.
RT (Route Target):
export RT -> attached to the routes when exported from the VRF (VPN identifier)
import RT -> Used to select which routes to be imported into the VRF from the routes received via MP-BGP (Import route filter)
RT is the mean of controlling routes propagation between PE routers, and simply acts as the VPN identifier in order for all the customer sites on different PEs to be able to communicate.
P.S: Dan, i think that i've answered you before on this topic, please highlight what is bothering you and we can discuss it in details:
As an ISP when you provide MPLS VPN services, you would most probably ahve to deal with Overlaping customer address space/prefix.
To make these addresses unique across the backbone, a 32 bit prefix called RD is attched to the IP prefix. This concatenation gives you a 96 bit value (RD+IP) which will be unique across the cloud.
Though RD makes the prefix unique, it does not have any information about which VPN the prefix is a part of. RT is used to identify the VPN that a paricular prefex would fall into once the packet reaches an egress LSR
Mohammed has already given a good explanation about import & export RT