space and parts cost money. the smallest space, the lowest parts costs are often the driving factor.
if the bloated program requires a large chip, but a sleek program can use a smaller chip, then use the sleek program.
if your Arduino IDE produces code that works. and you use parts that in the desired price range. you are good,
the only need to switch to a different software is to get some result that cannot be achieved with the current software.
functions, space and cost are usually the motivating factors.
if you never need to use an analog input, save a few pennies and get a micro that costs less but does not have that
if you need to use CAN (WiFi, etc) bus, the cost for a micro that has that is compared to using additional parts, taking more space, and it may or may not cost less.
I will offer that since you have no clue what software is used in your toaster, your coffee maker, alarm clock or toothbrush would mean that the user does not care.
but you mentioned debugging.
that is a whole different animal. not every chip supports debugging on separate pins and as you know, not every software offers it either.
but as in the first concept, no one but the designer really cares. And then it boils down to application.
what application are you having problems with that you need a separate debugger ?
what is your application that cannot work on An Arduino ?
you mentioned the Coretex M4,
often the parts selection is the lowest possible device.
the Cortex M4 is a bit more like a Ferrari to the Arduino 328 chip.
as a note, ATMEL is but one chip maker, their software is designed for use with their chips.
other makers offer different processors with different abilities, memory, pin count, etc.
does your application require a faster, larger memory chip, or are you ultimately looking for the lowest cost chip that can get the job done ?