For most of my little projects, the older 12F and 16F suit me just fine. These are simple controllers doing simple jobs for me. One UART (if needed) is enough. The ram and program space is enough (for me). Even the 16f886 and larger are just too big for some of my simple controllers, they have resources I don't come close to using. I seldom use I2C or PWM. Definitley not DMA (I don;t think the old chips even have that)
Now, if someone is building something that needs multiple UARTs, tons of timers or ram, etc., then go ahead and use bigger chips. However, at that point, the Arduino family suits my needs better. If I ever need more, I'd look at the Teensy series, but so far I've not developed anything that complicated.
I just program for a hobby, to make simple tasks even simpler by using a PIC. For example, a friend had a complex logic gate controller looking at about 6 inputs and driving several outputs (some with delays). I re-designed that with a 20 pin PIC (16F690), and it all fit in place of over a dozen discreete IC's. Doing small delays was no issue. With an UART, he could send commands via serial to test certain outputs. With extra pins, I could turn on LEDs to show status, etc. Using a high end 18F was just to big a chip for me. Besides, I have all the setup for the older chips and don't have an inkling to upgrade everything. If what I have does the job, why upgrade? If I need a lot more, there are other architectures that can do the job.