HI!
I've never used PIC's, but AVR's and STM32's. I think PIC's were a bit outdated architecture, so I don't recommend learning it without a noticable reason. For 8-bit applications, I recommend AVR's or 8051-based MCU families, like the Silicon Labs C8051Fxxx family.
STM32 is a very universal family. It can be easily programmed with lots of compliers, both open source and commercial. If you want to try something different, choose a widely available ARM MCU, like NXP's LPC family 32-bit ARM MCU's. These are very similar to STM32's, and many of the development software also supports them.
And keep in mind, these MCU's can be extremely cheap. Only the chinese internal-market parts (e.g. Padauk 3-cents MCU) can be cheaper than a low-end AVR, PIC or STM32.