What does a question mark mean when listing all services?

The question mark in the output of service --status-all is printed when the /usr/sbin/service script does not find status line in the case structure in the related script under /etc/init.d.

If you look at the /usr/sbin/service script, you can find an if statement like this:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else