Hey there, great that you're getting into web development, it's great fun!
To answer your first question, as ralph said, the different pages depend on the scope of the project, meaning what is required. If it's a small business for example, or an individual (artist, painter etc.) they often only need a simple frontpage (your index page) and maybe a contact page (with contact information or a form to send them a message) and a gallery perhaps.
As for themeforest, I don't personally know that site, but mostly premade themes come with one or two "sample" pages (possibly like the ones mentioned above) which can be (for example yet again!): A frontpage, a sample text page and a sample form page. The good thing about a sample text page and frontpage, is that developers can very easily transform the design into a dynamic content page (which you will quickly learn when you get more into webdev.) which can then hold any content that is fetched from a database.
So if you create a sample text page design, a developer can purchase or use your template, change the text into a dynamic textbox and use the same template for mutliple pages! So if there's an about us and a contact information page for example, they can be using the exact same template while just "grabbing" different content from a database.
Hope that's not too confusing
As for CSS, it's absolutely true that using the "full power" of it is the way to go, basically you want to use CSS as much as possible instead of using direct images from Photoshop. Partly because of performance (text loads a lot faster because it's smaller in size than images) and for the usability, and in the future even SEO (Search Engine Optimization) of a website.
My advice is, start building some simple pages with a few content containers to practice HTML and CSS. CSS is a "Cascading Style Sheet" meaning that the different elements "rely and inherit from eachother", it's a bit like building a house brick by brick and the only real way to learn it is to work with it to get the feel of how that works.
Phew.. sorry for the long post! But as you can tell, and as ralph said, there's no "formula" to building websites! It's our jobs as developers to listen to the customer/plan the project in the best way (again just like an architect would plan a building site).
Hope this hasn't scared you away from web design!