Things are getting more and more complicated as you move on with your BSP project. And things get even more complicated when you need to integrate a device that is not supported by existing reference BSPs. In the best case you have a driver the chip vendor sent you. The driver does not necessary works on your architecture. Moreover, it does not necessary compile there. Windows CE still follows the ideology that each board should have it s very own driver for every device. It means that you have two boards with the same CPU and the same, say ethernet chip, you'll need two drivers for that ethernet chip.
My impression that Linux allows you much faster board bring up and hardware enabling. But, the application development is still easier for Windows CE.
Although I cannot understand how a programer can live without grep....