There are a few things you can do. I'm sure there are other ways but I've found these to be the most common.
1. Simply copy and paste the html from one page to the next. (least desirable and most maintenance)
2. Use
visual inheritance (highly recommended and very powerful). Create a page template with the zones/webparts needed on it. Then put a page place holder where you want the content that is different. Then create another page template that has the zone/layout/webparts you want on it (this will be your sub page).
This is how you might setup a standard asp.net website using master pages. Your master page contains your header, footer and main navigation. Then your pages that inherit your master page only have content areas on them. You can then inherit those content pages on other content pages, simply nesting them. Using Visual Inheritance is really no different with the exception that you get a nice UI to work in.