Emulator actually 'fools' the car's ECU/computer when car is on cng - the ECU is designed to keep supplying petrol to injectors as per driving conditions - but when we are on cng, the fuel injectors need not to work as cng enters from other ways to burn. so, if ecu comes to know that injectors are not working, it will keep giving errors, check lights and will create alot of 'phadda'. therefore, the emulator folls the ECU that fuel injectors are working whereas in reality they are not.
Advancer is used to automatically set ignition timing as per requirement as petrol needs retarded timing and cng needs much advanced.