Buenas de nuevo.
La verdad es que las diferencias las estas poniendo tu mismo en el post anterior.
Actualmente, son la gran variedad de CPLDs y FPGAs que hay en el mercado, no es fácil obtener diferencias claras en cuanto a capacidad, bloques hardware que incluyen, etc.
Yo creo que lo mejor que puedes hacer es centrarte en los dos dispositivos que tienes en tu poder, y buscarles las diferencias entre ellos, porque si lo intentas generalizar a todos los dispositivos del mercado, te vas a volver loco.
En principio, los CPLDs sólo tenían puertas lógicas interconectables entre si y las FPGAs además tenían bloques de memoria y registros. Pero esto ha cambiado ya muchisimo. Actualmente las empresas que se dedican a esto, deciden hacer algo, lo codifican en VHDL/Verilog, lo simulan y una vez que lo tienen todo acabado, buscan una FPGA/CPLD en función del tamaño y los requisitos hardware del proyecto para probarlo. Después se fabrica bien en ASIC o bien en FPGA/CPLD (lo que sea más barato en funcion de la cantidad a fabricar).
Otra cosa a aclarar es lo de la memroia volatil de la FPGA. Es cierto que se necesita una EEPROM para guardar la configuración, pero hoy en dia no hay FPGA que se precie que no tenga o bien una EEPROM interna o bien un módulo de comunicación con una EEPROM externa para autoprogramarse al ponerse bajo tension.
Otra cosilla es que tanto las FPGAs como los CPLDs se pueden programar en VHDL, por lo que no tengas reparo en comenzar a 'estudiar' porque lo vas a necesitar de todas formas.
Bueno después de todo el rollo, lo más importante es que te centres en tus dos dispositivos y busques las diferencias entre ellos, para decidirte por uno u otro. De todas formas, si estas empezando, la mayoría de proyectos simples que hagas (contadores, registros de desplazamiento, etc.) te funcionarán en ambos dispositivos.