Thankfully by now we are more and more replacing these Windows CE things with iphones plus sleeves with barcode scanners which gives us a nicer API and the end user gets a much cooler device to work with.
The .NET Compact Framework is a beast: It's extremely slow and still it happens more often than not that you need something, you check the documentation, you find it, only to read that it's only supported on the desktop.
And don't get me started on the development/run/debug cycle: Both the emulator and the actual device are slow and after the 200st time that crappy assistant offered me to register my barcode scanner or even emulator(!) with Microsoft, I lost all the love that might still have been left.
Oh. And the SDKs for the scanners have this distinct feeling of being software written by hardware people when I look at how "convenient" they are to use. My personal favorite: The driver that hard-crashes the device whenever you terminate the application from the debugger. Yeah. Hit that stop-button you are used to and you'll have to wait through another 3 minute reboot cycle.
You iphone and android people have it so nice </cranky>