I would say it depends how strong your opponent is. If you play against someone with a rating of 1500 or more, then its better to give up and not waste the time of your opponent. Below that rating is the error rate so high that it is always possible to gain the advantage again
Should I end the game if I see I couldn't win or I should try to fight till the end of time or till cheсkmate? What is good manners in that situation?