...since in most application, people are using microcontroller with external memory
Can you be more specific about the exact microcontroller you mean by that statement? I would tend to think of that situation more as a microprocessor + memory. (I bet you say 'Arm').
Which is better depends entirely on what you are doing with it.
Typically, a microcontroller is defined as a self-contained unit with built-in peripherals and memory which is programmed to perform a specific task. Sometimes it might need extra RAM or whatever but in general would not. A microprocessor, conversely, would typically
need additional support (ROM, RAM, peripherals etc.) to function and would more likely be used for more general and/or complex purposes these days.
Years back we had very simple MCUs that were obviously MCUs (like the first PICs) and MPUs (a.k.a. CPUs) that were obviously MPUs (6502, Z80, 68000). These days the distinction gets blurred somewhat. Draw the line where you want.
So, again, which is better (by any measurement) depends on the task at hand. Something small that needs specific I/O that a typical microcontroller has... pick an MCU. Something big... probably need an MPU.