I think if it's a work issue you have more leeway to get involved in a conversation, for exactly the reasons you describe--people might not realize they should actually be talking to you, not Bob, or that the issue will affect you as well as Bob. Obviously sometimes overstepping can occur, but IME many workplaces want people to have the attitude of all pulling together trying to accomplish the same goal, rather than everyone staying only in their own little circle ignoring everything else going on around them. As Harriet Jones says, Nancy's problem is that the things she interjects herself into are not within her purview at all, and don't even need to be done (e.g., "you missed a call" when several other methods tell the person they missed a call).
At my work, if I overheard two co-workers discussing something that I was familiar with, and it became obvious they weren't, I would ask if they wanted any advice, etc.. Why should they struggle to reinvent the wheel that I've already made? And of course if there's a safety thing I would step in--like if, from overhearing them, I knew they were about to do something dangerous or ruinous.
As for the personal conversations, I think that's a bit trickier. If you're talking across the aisles/cubes instead of inside one cubicle, I think you have to accept that there's a risk of other people overhearing and joining in. On the other hand, I personally probably wouldn't want to be the first person to do so (join in others' conversation), because it does seem a bit on the edge of rudeness. More like, it's rude if the original talkers mind, and not rude if they're cool with it, so I'm waiting to see what their reaction is to someone else joining in first.