Shared hosting is most of the time very cheap due to the fact that you share the server hard drive with multiple other websites. When you decide to upload your website on the internet, you have to have yourself a few questions:
1)Will my website become very busy in the next few months?
2)Do I need a high level of bandwidth?
3)Will I get a lot of data which will be uploaded or download to the server which will in turn increase the load on the harddrive?
4)Do I need a fast CPU and a lot of ram for my scripts, applications?
Some websites require complicated background architectures to compress their MP3s or videos, this will of course increase signifiquantly the load on the CPU.
Shared server can also cause multiple risks, don't forget that if a hacker manages to get the root password, all the account on that server could be hurt a big time.
Also and the most important, if one of the account you are sharing the server with is having a DDOS attack, you will also suffer!
Shared hosting give you a very limited choice, no firewall settings to mess with, a limited bandwidth,ram usage,CPU load and I/O usage on the hard drive.
Shared hosting is used for very small sites which do not need powerful servers.
Dedicated Hosting:
Dedicated hosting is more much complex, for example if you use Cpanel, you will have access to the main admin Cpanel area which controls the full server and all the other sub accounts. You will be in charge of installing secure scripts, monitore the server load, the HD I/O and the firewall settings.
Dedicated hosting is not recommended for new users, you can sometime hire a support team form your hosting company which will most of the time sort out the problems on your server, but still, sometime, you might have huge problems which will pass from one support tech to the other and you will lose down time, your users will be very angry, this is why it is better to fix the problems your self if you can!
Dedicated hosting is excellent if you have multiple websites,blogs and others, you will have a full server for yourself, you will also be in charge o the backups which will come in to 2 types, local backups and remote backups.
For example, if you change a lot of files on you server at 6am and set up a local backup everyday at 12 am, all your files will be stored/backed up in a save place but, if you get hacked, or the hard drive breaks down, you will loe everything, this is why you always need to think about having a remote back up in place which will cost you a little bit of money but will be worth the spending.
Both dedicated and shared hosting have the good and bad points but you really need to think about ak of the above in order to choose the right plan for your self.
If you schoose shared hoting and your bandwidth usage or CPU load is too high, your account will of course be suspended in order to protect the other customers who are sharing space with you on the hard drive.