VPS = Virtual Private Server which is a mechanism to slice a physical server into virtual chunks (thinking it as slices of the physical computing resources such as RAM and CPU time) that each run and respond as if it's a separate server.
Cloud hosting is an emerging technology that enables the pooling of large number of separate physical computers / servers / computing devices together so that they act like one, and websites or resource consumers (active processes, user applications) pull resources for computing from the pool as a whole.
VPS requires the hosting provider to allocate your server; with cloud hosting you do it yourself using their control panel or API and you're up in minutes. VPS is just regular web hosting; cloud hosting is IaaS (Infrastructure-as-a-Service). Another difference that comes out of this is that massive server Deployments are much more common and easier to run through cloud hosting.