As CPLDs and FPGAs become more advanced the differences between the two device types will continue to blur.

While this trend may appear to make the two types more difficult to keep apart, the architectural advantage of CPLDs combining low cost, non-volatile configuration, and macro cells with predictable timing characteristics will likely be sufficient to maintain a product differentiation for the foreseeable future.

Architecture

Architecture wise--Basic Cell
FPGA -- CLB     CPLD-- MAcrocell,LAB's 

Internal EEPROM storage vs. SRAM

Power consumption

Kinds of PLDs

What kinds of programmable logic devices are available today? How are they different from one another?

There are a few major programmable logic architecture available today. Each architecture typically has vendor-specific sub-variants within each type. The major types include: