There are a plethora of reasons to get a dedicated host. But generally it comes down to how many sites you are hosting and/or how much load your site(s) are consuming on a shared server.
Some good plusses, you get full root access and you can configure and install what you need / want.
Some of the better hosting companies will still admin the server for you. IE they will continue to make kernel updates, patches, etc. They are just as concerned about keeping their network safe as you are. So if they don’t offer that, I would not advise getting into it, unless you have plenty of time and knowledge to administrate your server.
Running it from your home is not a good idea professionally. The networks that decent hosting companies use are not anything like a home cable modem or even a T1 line. Think OC3 and Gb Fiber. But hosting a site of yours from home is not going to be a big bandwidth hog unless it gets busy. So a lot of people do it.
Then you make a rule set for incoming traffic to be sent to DMZ if requesting via ports 80 or 8080. Chances are your ISP will not allow a home web server, as it’s against your TOS, so you will have to pick a different port than 80 or 8080 to server web pages. So your address would require a port in addition to the IP / domain.
It’s best to put a webserver on a seperate network than what your LAN is on and since you mentioned windows, make sure you lock it down, turn off un-needed services and update that mofo everyday (at least check for updates).
Now you will be on DHCP more than likely, but if you keep a firewall connected 24/7 to the modem you will probably see the same IP address for months if not at least for a year. So you can get away with using a domain name, knowing that occasionally you will have to update the DNS…