I wonder if I can better explain this with the following analogy.
Imagine a friendly fast food counter, a line of hungry customers and a kind of conveyor belt with hamburgers. She offers hamburgers one by one to each client until they are all happy (if some hamburgers remain, it does not matter). She then writes a list of what each client received and gives this list to her manager. The cashier will be a regular expression engine, hamburgers are characters from the input string, and customers are regular expression subexpressions. Manager is a matching function.
For example, when comparing abbc with / /[a]b+./ scene looks like this:
("[a]", "b +" and "." stand the queue)
Cashier: Hi, "[a]", would you like "a"?
[a]: Sure, thanks!
C: would you also like "b"?
[a]: No, thanks, I'm fine (goes).
C: Hi, "b +", would you like "b"?
b +: Sure.
C: Would you like another "b"?
b +: Yes, I'm hungry.
C: Can I offer you "c" also?
b +: Not my kind of thing (goes).
C: Hi, ".", I have only one "c" left.
.: I don't care what it is, just gimme it (goes).
C: All served! Looks like I'll get the job!
If it happens that the cashier is unable to satisfy the client, she has the right to call the previous one and ask them to return what they have. This is called backtracking. Consider:
"abx" against /.+[xyz.BIZ/
C: Hi, ". +", Would you like "a"?
. +: Yum-yum!
C: How about "b"?
. +: Yum-yum!
C: And "x"?
. +: Yum-yum!
C: My belt is empty! (. + goes)
C: Hi, "[xyz]", I'm afraid I'm sold out.
[xyz]: That out of the question. Can I see the manager?
C: Wait, I think we can sort it out! (calls ". +")
C (to ". +"): Sorry pal, you know, this nasty guy over there ...
I wonder if you could you give me back your last one?
. +: No prob ... (gives "x" back)
C (to "[xyz]"): I've got something for you. Do you eat "x"?
[xyz]: If you want to get anything done in this country
you've got to complain until you are blue in the mouth
(gets his "x" and goes in a rage)
C: Gosh, what a day ...
Now back to your examples:
Scene I. "ab" against / a? /
Burgers: a and b, customer: a?
C: Hi, "a?" would you like "a"?
a ?: Sure, thanks.
C: Can I offer you "b" also?
a ?: No, thanks, I'm fine (goes).
Manager: I need the inventory report, now!
C: Here you go: "a?" got "a", we have "b" and "c" left.
Scene II. "ab" against / b? /
Burgers: a and b, customer: b?
C: Hi, "b?" would you like "a"?
b ?: No thanks, but that no problem. (goes).
M: Status?
C: "b?" got nothing and went. a, b, c are still there.
So basically b? - A very good (and not particularly hungry) guy, and he is happy even if the cashier has nothing for him. If he is the only one in line, this is her lucky day!