Programmability Options
PLDs, CPLDs, and FPGAs have different types of programmability.
One time programmable: Part is programmed once and holds its programming "forever". Not reusable, but usually the cheapest.
UV-Erasable: Erasable with UV light. Needs a ceramic package with window; package adds expense to part. Programming retained after power down. Programming/Erasing limited to 1000s of cycles.
Electrically Erasable: Both reprogramming and erasing is electrical. Part can programmed/erased on circuit board, no special packaging needed. Erase time much faster than UV erase. Programming retained after power down. Programming/Erasing limited to 1000s of cycles.