If you got a small site, no videos, download, shared hosting is the best choice.
If you got videos, download, and see that your monthly traffic is going over dozens of GB, choose a VPS hosting, getting bigger, change to a dedicated server.
Don´t count on millions of monthly giga-bytes plans, think about 'does my server share a reasonable part of a shared server? Or will I take a full server capacity?'
If your are in the second option, go to the right plan
When I worked with an internet company, we got this question alot. Bandwidth can be described as a pipe that carries liquids. You can carry a little bit of liquid through a big pipe, but you can't carry more than the capacity of the pipe. You can carry different kinds of liquid, belonging to different people, but the pipe doesn't get any bigger. Say you have (this isn't a typical amount but for example) 1Mbps service. This is one Megabit per second. That means that one megabit of information (megabit is a measurement unit.. like one pound. One mile. One ounce) can travel in a second to and from your computer. (so.. like 10km/h.. its a vector)... Its kind of like an amount of information that can be transfered in a given time. So we will use 1MBps. Thats your overall bandwith. Now, If you have 1MBps, that means in 5 second, you would have used 5MB. If you have a monthly bandwidth limit, that means that you would add up the total amount of information you transfered. Maybe its 100Mb (it will be much higher, but thats an example).. Now just because you have 1MBps service does not mean it takes 100 seconds to get to 100Mb because you are not neccessarily using the whole 1MB every second. You may only be using a quarter of that... You will rarely use the maximum...
As an experienced webmaster I recommend Blue Host service which I am sure it would work for you and fulfill all your requirements. They have a really great offer for hosting & I have used them for over 3 yrs now, and have never had a single problem with them.
They offer a Full-featured service only $6.95 a month. You can see their Plan Details accompanied with reliable reviews.
To work this out you need to check the size in bytes of a typical page. Multiply that by the number of pages you think a user will view in a typical session. That gives you the amount of traffic per user.
Multiply that by the number of expected users per month and you'll have a monthly figure.