In my opinion, Windows CE should not be associated with the phrase "embedded PC". By most the acronym PC is thought of as a computer running the Windows desktop OS such as Windows 7/8/10. Windows CE is a completely different OS written to be used on devices and works not only on Intel processors but also can run on other processor architectures such as ARM or MIPS. It also has real-time capability, known as RTOS, that full Windows is not capable of.
So now let's compare that to a very popular PLC, the Allen Bradley ControlLogix. This controller uses an OS named VxWorks. VxWorks is a multiprocessing RTOS that is designed to run on devices and different architectures such as Intel, ARM, and MIPS.
If someone considers a Windows CE based controller as "PC based" because it has the option of a mouse and keyboard, then what happens when VxWorks is installed on a PC. Does this suddenly make a ControlLogix an "embedded PC" controller?
From a functional point of view, what is the major differences between WinCE and VxWorks? Not much more than the companies behind them, Microsoft versus WindRiver. They both are a multitasking RTOS that runs a specialized software whether it is TwinCAT or the ControlLogix PLC program interpreter.
I have been involved with probably over 50 installations of CE based Beckhoff controllers and would dare say the reliability is no different than that of a ControlLogix system. The reliability factor didn't come down to the OS or hardware, but the PLC program. RSLogix binds you in a tighter sandbox to keep you from doing too many stupid things, but TwinCAT gives you more freedom which allows the programmer to fault the PLC program easier, such as divide by 0 or going beyond array bounds. Taking that in consideration, if the PLC programs were exactly the same, the reliability would be no different.
What is the advantage of one over the other? Very little. Although there is one advantage that I discovered of a WinCE based system. One time an IP address needed to be changed and no PLC programmer was available. I was able to tell someone in IT how to get CERHost software to remote desktop into the controller, then from there they were familiar enough with Microsoft software to be able to change an IP address. This would have been virtually impossible with a conventional PLC.
I do have to disagree with the argument of the OS version becoming obsolete as a disadvantage. VxWorks goes through version upgrades also, but that does not make it necessary to upgrade the PLCs OS. I have a 10 years old CE based controller with an old version of the OS, but I still continue to program it with the latest version of TwinCAT.
Now if you consider a Windows XP/7/8/10 based PLC, you are now in a completely different ball game. You now throw in all the known problems with Windows based PCs.
I know all this makes me sounds like I am a hard core advocate for Windows CE based controllers and TwinCAT, but it is not the case. They both have their place and I use one just as often as I use the other. I believe in using the right hardware for the right purpose and not trying to force fit something into the wrong place. However I will absolutely avoid using a PLC system based on Windows XP/7/8/10