Some systems can be programmed to recognise any controller of the same family.
So, you can simply buy another transmitter from off the shelf, put the car into 'program mode', and press the button twice - from two in-sequence codes, the car can workout the remainder of the sequence that that particular controller will use.
This system is more flexible, but generally much less secure than systems that come programmed with a set of accepted controllers from the factory. The sequences have to be simple enough that the whole sequence can be predicted from just two transmitted codes - so anyone who knows the algorithm, could easily use a radio 'snooper' device, to code a new transmitter.
Some companies program their cars to accept codes from a set of controllers (usually a fairly small number such as 5 or 6). Some of these controllers are supplied with the car, others can be ordered from the manufcaturer at a later date, and are coded at the factory from their master list of codes which is cross referenced with the vehicle's chassis number.
The main advantage of this is that, the sequences can be extremely complex - sufficiently complex that even if you knew the algorithm, it would be impractical to predict the next code in the sequence, even if you had 100 or 1000 of the preceding codes - therefore making cloning of controllers impractical.
The other is that the car can never be recoded to work with a transmitter that was not specifically coded to work for that specific car - meaning that if the car is stolen, and you failed to steal the controller, the only way you can get one is direct from the manufacturer.