Some programs and apps will have the computer offer a resignation if it deems the situation is hopeless. However, most will go on playing until checkmate.
Chess v Computer (computer resigned?)

I don't understand why engines wouldn't resign. All it would look like is something like this:
if (score < -5.00)//if the engine is down more than a rook it will resign
game.kill(KILL_CODE);
//KILL_CODE would be a code representing white resignation, draw agreement etc. it could be anything, like 5.

Many of the full-featured programs give you the option of having the engine either resign or play to mate. Some programs even let you set the resignation threshold. Having the option is nice, because you might want to play to mate to practice your endgame technique, or you might not want to waste your time.

...
Chessmaster 9000 and up have a glitch where,if you play a scandinavian defense as black,with the Qa5 move, after 5 or 6 moves it will always freeze for about 30 minutes then suddenly offer a draw.
I have used CM 9000 and GM Edition, and neither of these has ever offered me a draw or resigned. What version(s) are you referring to? PC?

Chessmaster 9000 and up have a glitch where,if you play a scandinavian defense as black,with the Qa5 move, after 5 or 6 moves it will always freeze for about 30 minutes then suddenly offer a draw.
I tried to replicate the glitch with Chessmaster 9000, but no go for me. I played that line as Black, but Chessmaster refused to freeze and proceeded to hammer me into an eventual mate. (I did last for much more than 6 moves after the Qa5 move.) Maybe it's hardware or OS specific?
I was just playing against the computer at basic level and doing fairly well, in fact I think I had him/her on the ropes.
Each move that the computer made normally took about a second. But suddenly all I got was 'Compter thinking...' for about 10 minutes.
I would like to think that this was a result of me making such an audacious move that it was wracking it's brains (RAM?) to come up with an appropriate response. More likely it was stuck in a loop in the algorithm somewhere.
Anyway, I claim that as a resignation on the part of the computer!
It did make me wonder, does the computer ever actually resign? is there some bit of the algorithm that allows for a resignation? Although I know that there are certain positions whereby a resigntation is the right thing to do, sometimes it is more of a subjective thing isn't it? can that be programmed into a computer?
Andrew