Why on earth are all of you making it so confusing? He (or she?) doesnt need Apache, MySQL or any of that other stuff... if all you want to do is experiment with hosting a site, and as long as you are running Windows XP Pro, you have everything you need...simply install IIS: start>control panel>add/remove software>add/remove windows components>check the box for Internet Information Services (IIS).
I'm not going to go through all the setup, there is plenty of material freely available on the web about setting up and running IIS.
If you are not running XP Pro, do a search on Tucows for web servers...there are a bunch out there that are much easier to set up on a windows box than trying to go through the gyrations of getting Apache to work.
Now you have a web server up and running...to the question about security and routers and all that happy stuff. You dont NEED a router...and to the person who gave mis-information about port forwarding, shame on you! If you arent sure what you are talking about dont give advice. The local ips that you are talking about forwarding to can be different in every situation...and there is absolutely NO correlation between where physically (port) you plug your system into the router. IPs are assigned in the router settings, not hard coded into a physical connection.
So, with that being cleared up...no you dont need to run out and buy any hardware just to run a web server. However, if you are planning on having much traffic, I would recommend a simple hardware firewall router that supports DDNS. This is where your question about domain names comes into play...DDNS is dyanamic dns and the service itself can be had for very little and in some instances free. Read the documentation that comes with your router, they usually recomend DDNS services that are compatible with their equipment. And yes, if you want an actual domain name (ie www.yoursitename.com) you will need to purchase it. There are a lot of different domain registrars...just do a search on google. The expense is minimal.
Once you have your name you will need to register it with your DDNS service...whatever service you get will have directions, its not difficult.
What the DDNS does for you is this:
many service providers will change ip addresses randomly to discourage people from running servers on their lines...hence the dynamic dns...if you are using a router that supports DDNS, it and the DDNS service provider "broadcast" to each other, so if the ip address is changed, your DDNS is notified and updates.
In regards to which router to get, I use Linksys...they are easy to set up (pretty much plug in and go) and easy to configure (administered through your web browser).
If you are planning on running this on the same system you do other stuff on I strongly caution that if you get much traffic at all it will slow down anything else your doing drastically.
In regards to security, again if you arent planning on making a big production out of it, I wouldnt worry too much about it. As long as you have all your updates from Microsoft, you should be ok for what you are doing. If you are indeed planning on going full production in a public environment, I would discourage using a home system. If you REALLY want to run a site from your home, get a second system better suited for this task...however, I would suggest getting a hosting service instead...overall it will be less expensive, all the maintenence is done for you, and most hosts offer database access, scripts to freely use, email, and anything else you can think of you might need to run a site. Much less of a headache.
It can be fun playing with a webserver, but it can be a lot of work too if you get in over your head.