That's true, in fact that is the little "tweak" that my download program does. The files are acutally stored behind the htdoc directory, the script (which can access the files) then outputs it to the browser. So there's no way of downloading it without going through the script
Basically, a database is when you have a lot of "stuff" that you want to do a lot of things too. Or if you have a lot of files that are displayed the same way, such as this message board. Another good example is for purchases. You store all that information in a database and depending on how its set up you can do things like see how many orders a certain person has, what the average ammount per order, how much money that guy has spent, etc. And that's just with the price. You could then do things like see how many people are from Ohio, or California, or Florida that has spent more then a total of $100, you get the idea. It's a very powerful way of managing information.
Regular .html files are static. That means that they don't change that much. For example, say you have a page you want to make that has contact information, that doesn't change that frequently, so you can just have a static page there.
Why not make everything dynamic? Well, like someone said earlier, databases and dynamic pages are more CPU intensive because the server has to get all the data, then put it into the right parts of the page that it should, THEN send the finished page to the user. Where as with a static page, the browser just sends the file to the user. Also databases use more storage space then a static web page. Databases are also more difficult to work with. It's a tradeoff. Plus there are cases where it's not larger in the long run. Let's say you work for Amazon and they want to allow customers to view past invoices. If you made a static page for each invoice, that's going to eat up a lot of space, with most of it being on the formatting of text. But if you put all the invoice information in a database, then just have one 'template' file. You can then create the invoice on the fly.
Hopefully that did more clearing things up then confusing you more