Like freakyguy said, it depends. If program installed a new service that service won't be started until the system is rebooted. Other times programes add themselves to the "runonce" registry key, so that they can do some initialization next time computer is restarted. Also, things like device drivers are loaded way before the user logs in and therefore won't take effect until full restart.
On the other hand, "restart" option sometimes is added by programmers to the installshield script just "to be on the safe side". If thats the case it can be safely ingored, even without loggin in/out.