Building an application for a mobile or embedded device is a different experience to developing on the desktop, you are usually building your application code to target a remote device (rather than running on a desktop PC [although you can of course use the Windows CE or Windows Mobile emulators!]) - One of the advantages of writing managed code (beyond the pure speed of development) is memory management, a typical C/C++ developer needs to be aware of the lifetime of any objects that are created (this includes operating system handles and any custom objects that the developer "new's up". Developers also need to be aware of the overall performance of their application, this is where application profilers come in - Windows CE embedded developers have a number of profiling options, from Monte Carlo operating system profiling through to the Remote Call Profiler for C/C++ (native code) applications.
But what about managed code developers? - EQATEC now have a .NET Compact Framework application call profiler available - go here to get more details.
Here's a video lifted from the EQATEC site (requires flash) that shows the profiler in action.