I have two ICD2 compatible's. One Inchworm+/Unicorn combo (USB ICD2) which is as fast as a PICkit 2, and a DipMicro **broken link removed** which is a serial ICD2 clone. Slow, but reliable.
It's good to have more than one. If one gives you trouble or doesn't have good debugging support (PICkit 2 w/18F248) I just switch to another one.
For other devices (non-PIC µP), I have a trusty old Needham's EMP-11.