Программный ресет это больше для себя - чтобы с нуля переинициализировать софт, заклинивший блок он в строй не вернет. Аппаратный - гарантированно вернет в строй все то, что влетело "не туда". А если аппаратный не помог - это значит паразитные структуры кристалла встали в неадекватное состояние, т.е. не блок клина поймал, а кристалл целиком. И это уже проблема совсем из другой оперы.