I have a pickit 3 and it does what it is designed to do. One very annoying feature is that it has several different firmwares for different series of PIC. If you don't update it then it won't even identify the connected device. At least that was my experience.
I have a TL866CS (not II) which I use frequently. I've used it for old parallel programmed PIC devices (e.g. PIC16C54) which can't be used with pickit3. And many EEPROMs, FLASH, AVR micros, and to test some SRAM and logic chips. Very good investment.
I also have an old pickit 1. Utterly useless.