You can search for a host who provides enough bandwidth, storage space as your requirement includes providing downloading of softwares also. There are many hosts that provides plans suitable for your requirements. Just go for 24/7 live chat or other supports and verify that the hosting plans and your requirements match together and in your budget.

If your talking about just the website itself then heres some tips:
All websites are based off of a "language" HTML and PHP are the most basic then there are java, C, ASP, whole bunch of other very complicated languages.

For a brand new person I would not expect you to code your own website, unless you have some kind of background in web coding. There are some free tools online that will help you make a basic html website but I have never seen a good profesional looking site come out of them.

From the look of your needs I think PHP-Nuke would work out pretty good for you, it has registration, downloads, forums, blogs, statistics, and even advertisement modules. Can take a look at it here: http://phpnuke.org/

Most webhosting companies that offer Fantastico has a whole lot of scripts that you can install with one simple click and no coding necessary. This will probably be the best for you.

there are some hosting that have special offer/module that can make it easier to configure you site with both a blog and e-shop system.

I think you came close to understanding my problem: trying to figure out how this "configuring" works.

Once I sign up, how do I actually construct/configure the web site. Are there templates that I change the colours, background and text of? I don't want to actually construct my own web pages. I just want to personalize some template and then let it operate. (And if I'm using some ambiguous terms, please correct me.)

Also, I wanted to know if hosting companies allow one to experiment with an "offline" web site; one that I can set up and play with (via a password or such) using their templates until I have a better idea what I want or what I can do in terms of presentation. Once that's done, I can cancel the whole idea or put what I have on line.

To answer some other comments:
I am looking for a shared account, and I understand that bandwidth and disk space are the key requirements, but thanks for the reminder.

Free website templates can be found all over the internet. (http://www.google.com/search?hl=en&safe=off&q=html+website+templates&aq=f&oq=&aqi=g-e1g-s1g-sx8)

Some webhost companies use things like Fantastico or RVsitebuilder.

Fantastico makes it possible for someone with no website knoledge create a usable site including Databases and admin/user pages. You can find a list of all the software Fantastico can install here: http://www.netenberg.com/fantastico_scripts.php

RVsitebuilder is a simple pick and plug html site builder that takes the needing to know html out of the building process.

If youa re going to want a website with users and loggins you will need something with a database and stuff, thats why I recomended PHP-Nuke to you, installed it will manage your databases and you can controll the whole site easily from a newbie friendly admin controls.

Free website templates can be found all over the internet. (http://www.google.com/search?hl=en&safe=off&q=html+website+templates&aq=f&oq=&aqi=g-e1g-s1g-sx8)

Some webhost companies use things like Fantastico or RVsitebuilder.

Fantastico makes it possible for someone with no website knoledge create a usable site including Databases and admin/user pages. You can find a list of all the software Fantastico can install here: http://www.netenberg.com/fantastico_scripts.php

RVsitebuilder is a simple pick and plug html site builder that takes the needing to know html out of the building process.

If youa re going to want a website with users and loggins you will need something with a database and stuff, thats why I recomended PHP-Nuke to you, installed it will manage your databases and you can controll the whole site easily from a newbie friendly admin controls.

You've made these points before, but you haven't answered the question. But since I've changed the question in mid-thread, I will start a new one.