But it is the complexity of the processor that one doesn't uce ARM but PIC/AVR.
Regards,
Jerin.
What you know about C and C++ is mostly portable, so you don't have to re-learn those aspects. Assembly is NOT portable, but if you are living in mostly assembler then you are wasting your time, because with faster processors means that you don't need to mess with assembly most of the time.
There is always a learning curve for every microcontroller chip so you can't take that part away. Whether PIC, AVR, ARM, PPC, or others all have some learning curve.
The most complex part of flexible chips is the jillions of hardware things that you need to configure, which can be overwhelming, but at the same time you benefit because you have lots of features that you might need later.
If you use PIC, then stick with it. If you use AVR, then stick with it. If you want to move to another CPU family, then consider ARM.
If you are working on a project which you won't make very many of them, then hardware expenses are a drop in the bucket compared to man-hour expenses, so just use an ARM / PPC / x86 and not worry about the HW cost. If you have to ship a bazillion of something for a cheap price, then find the cheapest and most reasonable chip that you need to use. Still you can't toss out ARM for price sensitive designs, because ST says in a brochure that STM32 LQFP48-package 16K-flash chips are $0.85 each in 10K units.