$host is a variable of the Core module.
$host
This variable is equal to line Host in the header of request or
name of the server processing the request if the Host header is not
available.
This variable may have a different value from $http_host in such
cases: 1) when the Host input header is absent or has an empty value,
$host equals to the value of server_name directive; 2)when the value
of Host contains port number, $host doesn’t include that port number.
$host’s value is always lowercase since 0.8.17.
$http_host is also a variable of the same module but you won’t find it with that name because it is defined generically as $http_HEADER (ref).
$http_HEADER
The value of the HTTP request header HEADER when converted to lowercase and with ‘dashes’ converted to ‘underscores’, e.g. $http_user_agent, $http_referer…;
Summarizing:
$http_hostequals always theHTTP_HOSTrequest header.$hostequals$http_host, lowercase and without the port number (if present), except whenHTTP_HOSTis absent or is an empty value. In that case,$hostequals the value of theserver_namedirective of the server which processed the request.