No, you don't have to host your site with the company you sourced your domain from. You would need to point your domain to the site though.
There are three main options for you. Free, DIY (eg WordPress) and custom made. Keep in mind that with websites (as with a lot of things), you tend to get what you pay for. The cheapest option is not always best and a poorly designed site can do more damage to your business than good. Having said that though, you shouldn't spend any more than you can comfortably afford.
Free options include online site builders such as http://www.weebly.com/
These often include advertising on your site although you can often pa a nominal fee to have the advertising removed. You generally have limited design options here.
Most hosting companies offer DIY site builders and/or can arrange for a Content Management System such as WorfdPress to be installed on your hosting account. These usually require a bit more work than the free options but aren't too difficult to learn. You have the option to purchase existing templates (eg http://themeforest.net/
) or you can pay to have a custom template designed for you.
Custom designed sites can be made to suit your current and future needs and are generally the best option if you can fit it into your budget. Pricing depends on the functions you require... There are loads of designers on FS who I'm sure would be happy to offer more info regarding this.