In both Chess and Go, either player can unilaterally choose to end the game by resigning. His/her opponent cannot stop the game from ending if one player accepts the loss.
In Chess, the stronger player can dictate the game end by putting his/her opponent in checkmate. In this case the looser cannot force a continuance.
The game of Go is quite different. The stronger player cannot force a game end short of putting 180 stones on the board (making every possible move for the looser a suicide move.) This means that at some point before that happens, the weaker player will voluntarily decide (s)he has lost. Effectively, every game ends in one player resigning, either by saying “I resign” or by choosing to pass while knowing that the score is not in his/her favor.
You speak of a move as “100% clearly not going to work”, but what I think you aren’t taking into account is your opponent might not agree with your assessment of the move’s chance of working. Until the weaker player is willing to accept the loss, the game will continue.
This is why most new players have trouble figuring out when the game ends, because it doesn’t end until one player gives up. Something Westerners are often loath to do.
When I’m playing a weaker opponent, I often have determined that I have won well before my opponent has. They continue to play as many as 20 moves before finally giving up. And I fully expect that when I’m playing a stronger opponent, they realize they have won long before I do.