Yes, ASIC is a fixed IC, which production porcess is little bit similar to development FPGA structure especially for big one, but ASIC process more complex and expensive.
FPGA is programmable device which as a rule store its configuration in static RAM and lose it after power off therefore FPGA need PROM for booting, FPGA is a complex IC and have capacity many thousands gates.
CPLD is programmable device which have certain structre (Macrocell, switch matrix, Functional Block) and as a rule store its configuration in its own (on-chip) memory.