The thing about DOS's globbing is that it wasn't DOS that was doing the globbing, but executables. And they'd do it inconsistently. The executables were also aware if they were passed, say, a '*', and might change their behavior as a consequence (I'm trying to remember whether or not this was actually been the case, can't say, it's been too many years).
Which doesn't happen in any Bourne-compliant shell, as it's the shell which expands the wildcard, not the app (an unexpanded or escaped wildcard character can of course be passed to an executable).