Excellent question! The short (and rather unhelpful) answer is that while technically, "a couple" does in fact mean two, it is not always used that way in practice and if you ask several native speakers you're likely to get different responses.
"A couple", "a few", "several"... Words like this are used with various intent. In the particular case of "a couple of weeks" I'm (personally) likely to interpret that as 2-3 weeks away. In any other case where you use "a couple", it depends on the circumstances. I'll get a general idea of what you mean, but we won't necessarily have the same understanding of the situation.
Bob and Marie make a good couple.
Okay, that one's obvious. When you're talking about two people in a relationship as a "couple", clearly there are two of them.
I'll see you in a couple of weeks.
As I said before, this probably means 2, maybe 3 weeks (in my experience). I think this is probably the situation in which you're least likely to cause confusion, though obviously that's not always the case since someone corrected you!
These pretzels are delicious! Can I have a couple more?
Assuming these are snack-sized pretzels... Chances are I'm not just asking you for exactly two, right? Generally people use this to mean "give me some more of them" with "some" being indeterminate. The most common response would be to reach into the bag, grab whatever pretzels you would naturally get at a time, and give them to the person. Sometimes, just to be 'literal' and make a joke, I know people who will carefully count out two pretzels in this situation and give them to you. You'd give them a look, and then they'd give you more. So even native speakers are aware of this disparity, and can find humor in it.
If that's not enough, consider the following xkcd comic, where the author makes fun of the ambiguity of "a couple" and such words:
The author also adds mouseover text to his comic, which reads: "If things are too quiet, try asking a couple of friends whether "a couple" should always mean "two". As with the question of how many spaces should go after a period, it can turn acrimonious surprisingly fast unless all three of them agree." ;)
So there isn't a simple answer for you, I'm afraid, but the answer is it's all very dependent on who you're talking to and how they interpret the word. If your friend corrected you then he has a different interpretation--but that doesn't mean you were wrong!
According to some sources, n odd (with n a number) means slightly more than n. The above link shows:
6.
20-odd/30-odd etc
spoken a little more than 20 etc: [eg] I have another 20-odd years to work before I retire.
The ELU question Where did the "odd" in "N odd years" come from?, on the other hand, suggests odd implies give-or-take, rather than slightly more. The accepted answer agrees with the dictionary entry quoted above, and refers to a paper about the expression. Here is part of a quote from the paper:
odd became used in constructions of the type NUM N1 (and) odd N2, where N2 is a count noun of lower rank than N1 (OED lemma 3b,c). The meaning of the adjective odd is still one of ‘surplus’, ‘extra’ [eg] Than leveth there 38 degrees and odde minutes
Different people may differently interpret odd, as noted in comments to the ELU question, and as illustrated by differences between the Longman Dictionary entry quoted above (in brief, “ a little more than”) and the MacMillan Dictionary entry mentioned in J.R.'s comment: “in the region of: used after a number for saying that it is not exact”.
When the lower rank count noun N2 is left off, we get examples as mentioned in another ELU answer:
“The horse was bought for fourteen pounds and odd”, meaning “between fourteen and fifteen pounds”
When both of N1 and N2 are elided, the number of significant digits used may imply a range. Here is my interpretation of “a hundred odd”: most likely in the range 100 to 120, possibly up to 150, definitely less than 200. My interpretation of “80-odd” is: most likely in the range 80 to 85, possibly up to 89, definitely less than 90.
Best Answer
The word "couple" literally means two of something. We routinely refer to two people in a romantic relationship as a "couple". The word "odd" means unusual or strange.
The original 1968 movie was about two men who were sharing an apartment and who were wildly incompatible: one was fastidiously neat and the other very messy, one was culturally refined and the other very casual, etc. So they didn't fit together well as a couple. They were a strange pair, an "odd" "couple".
Apparently there's a 2015 TV series with the same title. I haven't seen it (I don't get broadcast TV any more), but from a description it appears to be a remake of the old movie.
(There was no indication in the movie that they were homosexual, by the way, they were just two friends sharing an apartment.)