It really depends on what you need. If you need to be able to spin up lots of web servers doing the same thing then a cloud hosting like Amazon EC2, or RackSpace Cloud, etc. might work for you.
If you want full control of the hardware and software then a managed hosting platform will be the better fit. With managed servers you’ll get more long term flexibility, but much less short term flexibility as it takes time (days or weeks) to get new hardware delivered. In a cloud platform you are just spinning up new virtual machines so you don’t have to worry about waiting for new hardware, the hardware is just there. It shouldn’t take very long to get a new VM spun up and ready for use.
With managed hardware you get a fixed known cost per month. With cloud platforms you’ve got a very dynamic cost as the cost depends on host many servers you have running, how long they are running for, how much data transfer you have (the data transfer will also usually apply for managed server hosting as well).