The Microchip PIC microcontroller family has a revolting architecture, with only a single accumulator register, register bank switching, and an inefficient stack implementation. My impressions were formed years ago in assembly language days, but it is still a revolting architecture for C programs, too.
I also find the Microchip development software to be expensive, bloated, and hard to use.
Despite all of the complaints above, there is something weirdly compelling about a microcontroller like the PIC16F1455 that comes in a 14-pin DIP package, has a USB device interface, requires no external components except one bypass capacitor, and sells for a little over $1 USD.
Microchip continues to sell many interesting PIC microcontrollers in DIP packages. Such devices are easy to prototype with using solderless breadboards, if you can stand to write the software for them. They are also very easy to buy in small quantities from Microchip Direct.
The Mikroelektronika mikroPascal for PIC Pascal compiler makes working with PIC devices bearable. The compiler hides almost all of the ugliness of the PIC architecture.
Furthermore, mikroPascal has a very extensive software component library for the PIC, ranging from trigonometry functions to USB HID device support. I am convinced that the true value of a microcontroller development environment lies in the richness of its software component libraries more than any other factor. In this regard, mikroPascal for PIC excels and is worth every penny of its $249 USD price (which includes lifetime updates).
I am available for custom system development (hardware and software) of products using PIC or other (please!) microcontrollers.