Asterisk.conf alwaysfork and nofork

In asterisk.conf, what does alwaysfork and nofork do? Why would one choose asterisk to fork or otherwise? Does this have any implications on the cpu process?