Typically sites with pagination have a database which stores all of the information. This is then printed out to a page. when you query the database you get a set of results and you can limit how many are returned and when you start from.
Typically there is only 1 actual page but the variable on the end changes to change which results are shown
the page=1 bit is just a variable used so the code knows where to start from. there is a bit more to it than that but if you aren't familiar with queries it prob won't make a lot of sense.
Each time the page is called the database is checked so if you have added new records it will appear on the first page and another record drops onto the second page etc. You don't have to do this manually as it will do this automatically.
The problem you have is if you have a static html page with a list it has to be changed manually and will become pretty difficult to manage as you will have to have numerous .html pages and move bits of text from one list to the next.
hope that makes sense