Python is easier, which is why people use it.
I started on Pi's with Python code ported from a Micro PC running Linux and Python/Pygame.
Big PC code can be made to run on tiny Pi's, that is massive progress.
I still have this old model A out in the field monitoring solar panels and batteries etc.
Not fast sensor sampling, every 10secs or so. It is running graphics display on two monitors showing a power in, power out.
This was done on Raspbian with Python using Pygame, background image, overlay images, texts and lines and animations.
Backing up requires taking an image of the 8GB SD card. Do a few projects and soon your harddisk is filled with backup SD card images.
Last time it failed a few python library files got corrupted on the SD card. Took quite some time to resurrect it.
Baremetal Ultibo now has nearly to the same capability as Raspbian + Python + Pygame.
But in this case all that is needed on the SD card is bootcode.bin, start.elf, fixup.dat and the Ultibo Free Pascal code code compiled to a single kernel.img. Backing up is just backing up a few 10k's of source files, I can recompile these in a few minutes.
From a security point of view it is easier to check a single Ultibo kernel.img than Raspbian OS + lots of other stuff that comes on it.
Ultibo coding is similar to microcontroller coding, just a really fancy Arduino, boots faster than Linux but still takes two seconds.
Linux and the multitude of languages and other methods I used before finding Ultibo really pushed my capacity to learn to the limit.
Try driving HDMI displays from a microcontroller.
I could upgrade the model A with a $5 Zero. The Zero could do the same thing and runs a little faster and has twice the memory as the old A.
$5, Zero , $10 Zero W, not exactly a low power solutions but very hard to beat the capability for the price plus they have proven to be very reliable hardware.
I have a middle solution using piCore and micropython, piCore Linux OS looks after the SD card a bit better and this is usually less than 100MB. Much smaller backup images.
If I need a realtime control type output then I just add a tiny microcontroller controlled from the Pi via i2c.
The Pi could be called using a sledge hammer to drive nail, but we do have a family of various sized hammers now, don't always needed a Pi3. Cannot do the project in baremetal on a Pi? Just swap the SD card and pick an OS and language or library ....
Would I make a mass produced product with a Pi in it? Probably not.
It depends on what qty "mass" is, Qty 1- reach for Pi, qty 10 ok use Pi, qty 100 Pi?, 1000 maybe not a Pi.
You want reliable software with less Zero day exploits, go baremetal?
Things like GoKrazy are offering a sort of interim middle ground, Linux Kernel plus single file application
Pi's just offer you more software solutions, it would take the rest of your life learning them and testing every solution
A microcontroller has less options. This is being stretched as bigger/better Arduino's get made.
Microcontroller/Microcomputer? the lines are getting blurry between them these days.
All the good microcontrollers tend to be 32bit now and some of these you can get for <$1.
But you can get a complete Zero Microcomputer for $5, that's just crazy, turn the world upside down pricing.
There is a triangle model for product development , Quality, Time, Cost - pick two.
With Pi's now there is a chance to get all three into a product.
Python fits in the Time point of this triangle. Somethings I found like i2c comms is more reliable in Ultibo, that's the Quality point of the triangle. Cost? er Pi's are cheap because they are made in serious volume for a unique purpose, teaching me to code
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges