I've seen explanations for the failings of the universal translator to pick up single words in Klingon, but is there any explanation for why the computer doesn't respond when people say 'open', 'wait', 'deck eight' in normal conversation? Sometimes people prefix commands by saying 'computer', and sometimes they don't. Canon and non-canon explanations are both fine.
But they are confused sometimes!
There are several instances when the computer mistakes a comment not directed at the computer as a command. There seems to be a heuristic identifying commands but it's not perfect.
PARIS: Are you saying there's no more story?
PARIS: This is someone's idea of a practical joke, right?
COMPUTER: Please rephrase the question.
(from Voy "Worst Case Scenario")
In this video from DS9 "Whispers" the computer does fairly well filtering out comments not directed at it, but still it fails to do so twice (at 2:00 and 4:48).
Those misunderstandings are not that seldom, since (out of universe) they make a good source of humour. So these filtering-algorithms are far from perfect just very good. And given that something like Siri exists today, 300 years of development really can explain how algorithms can improve to a level, where misunderstandings are fairly rare.
This is discussed in The Nitpickers Guide for Next Generation Trekkers. When I picked up the book, the discussion of computer commands was the first page I opened and read.
The author mentioned a scene where Wesley Crusher has just been told off by his mother over the comumincation system and he says Mothers!" to someone in the room with him (Data, I think) then follows up with "yes Mother". The author wondered why the communicator didn't broadcast the "Mothers!" comment to his Mom.
Sometimes you have to tap the badge; sometime you can just start talking. Sometimes you have to say "computer"; other times you don't.
The answer seems to be "lazy continuity" between the large number of writers who wrote scripts for the TV series.