Basically for The magento . its not needed specific hosting .
It just a web application.
But if you consider about to more user will come on site then you will have to pay more to the hosting company for the server performance like RAM,Processors..etc.
For the big business by magento you can take Dedicated servers , which can be manage by you or admin.
For the magento site optimization.
- . Optimize images for that you can se mode_pagespeed or any image
optimization extension.
- . Compress your js and css by compressor extension many is free on
magentocommerce
- . enable Gzip in servers.
here you can check problem and recommendation for better speed.
http://gtmetrix.com/magento-optimization-guide.html
this is the guide for optimization.
http://www.gxjansen.com/101-ways-to-speed-up-your-magento-e-commerce-website/