My ICD2 has worked well for me for many years up until recently. The 'problems' I experience with it now are due to it's age - it is less compatible with modern PIC's and PC operating systems.
Mine is an older one that doesn't work with Windows 7. Grrrrr. Not too terrible, I just have to maintain XP based development computers.
Many modern PIC's use a lower programming voltage. The ICD2 generates (I think) 12V levels for programming, which can fry certain chips. There are adapters and circuits available that prevent this.
Within these limitations, my ICD2 still works flawlessly but gets less frequent use now because the PICkits are adequate for most work.
Thus, like the PICkit2, if it handles your target chips and works with your computer, it is a fine tool.
I've pondered an ICD3 from time to time but can't yet justify the price given how cheap PICkit 2 & 3 clones can be had.