I have a cheap atmega168 development board which I use for atmega328P. Programmer Usbasp, I have two, but that's of no consequence.
I've had about 3 non recoverable failures over several months. All tha same can't communicate, wrong/no signature.
All failures happened when I was developing a program, one minute everything was OK next minute dead!
Yesterday it happened again, but this time none of my remaining 3x atmega328p would work, all had the same problem.
An Atmega48 would work sometimes.
All this says to me something's wrong with the development board (I'd tried the other programmer).
The only thing I've done to the board is remove the 8Mhz Xtal and fit a socket, so I can use different Xtals.
One of my pet hates with comercial pcbs is that they only seem to handle one or two component removals/replacements before the pad/track disappears.
I removed the socket with afore mentioned damage to the track/pad, then fitted a 16Mhz Xtal (value is not important). I bent the Xtal pins so they reached the appropriate 22pF capacitor and soldered.
The remaining 3 mega328p now work! So it would seem that during programming loss or variation of Xtal signal can completely destroy the chip.
Breadboards are not the best for stable connections.
I don't know if a parallel programmer could fix the dead chip, but chip recovery pcbs cost about £12-15 and 5 x m328p costs about £6 from China.
So I'm not sure on the economics. Hopefully now I've discovered the Xtal fix I won't get any more lost Signatures.