There is a difference, I believe. Doesn't Ctrl+r do a substring search instead?

Yes it's different: it will match anywhere in the previous command lines.