As to whether you "should" allow it, as in letter-of-the-law, of course not. A move which goes against the rules of chess should, by rule, be an impossible move. A player who notices it ought to point it out, whether it benefits him or not. Indeed, that's why it's practice to announce "check."
As to whether it's in your best interests to allow it, that's an ethical decision, and up to the individual.
I would alert my opponent. Unless there were prize money involved, and my family were hungry, or some such.
I've never run into this problem, but a friend of mine has, and I am curious, because in an endgame with time pressure, this could occur. I was wondering what would/should happen if my opponent were to make an illegal move which is also a mistake. Assuming I notice the illegal move, am I obligated/expected to inform my opponent, or am I allowed to refute the mistake without claiming the illegal move?