When is it necessary to restart nginx and reload will not suffice?
Does it make a difference if an extension like passenger is used?
Should the service be restarted
Ztyx is right - restarting when changing a listen directive is required in some cases.
With 1.6.x, you can reload when changing the listen IP address, but you need to restart when listening from "*:80" to an IP address "x.x.x.x:80".
I have only confirmed this with IPv4, behavior for IPv6 may be similar.