Creo que hay un problema de perspectiva, ya que ni uno ni otro es mejor, cada uno tiene su lugar diferentes aplicaciones, por ejemplo no se va a colocar un cpld o fpga para solo encender un led en una aplicacion industrial, aqui es donde reside la ingenieria, ya que la solucion tiene que ser conforme al problema, evaluando tanto la parte economica como la parte tecnica.
Un error frecuente es casarse con una marca particular de microcontrolador ya que hay personas que todo lo quieren solucionar con pic`s siendo que existe una gran infinidad de marcas de microcontroladores que esperan ser explotadas, sin irnos lejos tenemos a los AVR, los micros de Freescale, el MSP430 de texas instrument, los micros de Cypres que por cierto tienen muchos perifericos muy interesantes, y no hay prexto de la información ya que existe en internet, buscando he encontrado los esquemas para fabricar los programadores de las marcas antes mencionadas asi como sus respectivos IDE. Respecto a los CPLD y FPGA tambien hay mucha información incluso acabo de terminar un programador que estoy a punto de checar, la forma de programacion de estos dispositivos no es complicada, ya que incluso se puede con diagramas esquematicos, y en el caso del VHDL el problema es que es un poco abstracto y tal vez no estamos acostumbrados, pero practicando se hace mas sencillo, en cuanto a la informacion existe un libro en español que tiene un tutorial muy interesante para el manejo de los FPGA de xilinx, el titulo es el siguiente "Dispositivos Lógicos Programables (PLD) - Diseño Práctico De Aplicaciones " del los autores "GARCIA, José, PÉREZ, Emilio"