It's not actually working fine ... you're just not seeing the errors.
"include" says, "Go get that file and put it into the lineup HERE." It doesn't really care whether the file is error-free, or not, and will render the rest of the page if it encounters a "non-fatal" error in the included file.
"require" says, "Go get that file and put it into the lineup HERE, unless there is something wrong with it." An error in a required file will result in a fatal error. That stops everything right there. The file is "required" to be error free, because the rest of the page depends on it.