the main diff between cpld & fpga is in their architechture.
The fpga uses ROM every time switched ON, ot get programmed becaz the programme is actually stored in ROM. But in case of CPLD the programme is actually stored in it.
FPGA is mostly used for "LOOK UP TABLE", while CPLD is used for structural modelling.
Hope you have got satisfactory ans.
Good luck