At a tournament if they extend their hand and give a handshake thinking they've lost then the game is over regardless of the position. You could point out it's not mate if you want... that would be really nice. Yeah they might think it's rude or be embarrassed. You're not obligated by rules or courtesy to tell them.
In a club game it's up to you. I've even agreed to keep playing after the time has run out, or even offer take backs and things like this. Casual games it's completely up to the two players.
In tournament chess the only time you're supposed talk to your opponent is to offer a draw, accept/decline a draw, or resign. If there's a dispute like an illegal move you stop the clock and talk to the director / arbiter. Even in club games you generally don't say check or checkmate, and depending on how you do it this could be considered rude as if suggesting your opponent is so unskilled they don't notice.
At both clubs and tournaments new players sometimes say check, and I've never seen someone be offended by it. Usually the new player is politely told not to speak during the game and announcing check and checkmate aren't required. In fact if you continued to say check and checkmate at a tournament you may have your opponent or a player at a board near you complain to the director for being a distraction.
in legitimate chess tournaments and/or your own casual games, what do you do when your opponent thinks that they're checkmated but you can see a legal move? for example if your opponent looks at the board for his move, acknowledges a mate and extends his hand, are you obligated to inform your opponent that they have a legal defense? or would this be considered rude?
additionally, do you announce checkmate when you play? i have noticed that this is uncommon at grandmaster level, presumably because the top pros like to resign before the mating move.