Because inside apostrophes ("single quotes") it is defined not to do any expansions, while inside quotes expansions are performed... check your manual carefully.
The shell globbing expands certain characters, i.e. * and ?. If no filename matches, it returns just the original. I.e., if you have only files lovers, love1, and love2, then love? expands to love1 love2, love* expands to love1 love2 lovers, while hate? gives just hate?. Experiment a bit...