Model predictive control (MPC) is a well-established controller design strategy for linear process models. Because many chemical and biological processes exhibit significant nonlinear behaviour, several MPC techniques based on nonlinear process models have recently been proposed. The most significant difference between these techniques is the computational approach used to solve the nonlinear model predictive control (NMPC) optimization problem. Consequently, analysis of NMPC techniques is often connected to the computational approach employed. In this paper, a theoretical analysis of unconstrained NMPC is presented that is independent of the computational approach. A nonlinear discrete-time, state-space model is used to predict the effects of future inputs on future process outputs. It is shown that model inverse, pole-placement, and steady-state controllers can be obtained by suitable selection of the control and prediction horizons. Moreover, the NMPC optimization problem can be modified to yield nonlinear internal model control (NIMC). The computational requirements of NIMC are considerably less than NMPC, but the NIMC approach is currently restricted to nonlinear models with well-defined and stable inverses. The NIMC controller is shown to provide superior servo and regulatory performance to a linear IMC controller for a continuous stirred tank reactor.