Posts are entries listed in reverse chronological order on the blog home page or on the posts page.
Posts can be found in the Archives, Categories, Recent Posts, and other widgets. Posts are also displayed in the RSS feed of the blog. You can control how many posts are displayed at a time in the Reading Settings.
All posts will appear on the main posts page, but you can also display specific posts on category pages with custom menus feature. If you want, you can change the default page for posts to appear by changing Settings -> Reading in the Dashboard.
Pages are static and are not listed by date. Pages do not use tags or categories. An About page is the classic example. Pages can be displayed in the sidebar using the Pages widget, and some themes display pages in tabs at the top of the blog.
There is no limit on the number of posts or pages you can have.
What is widget?
Widgets are WordPress Plugins that add visitor visual and interactivity options and features, such as sidebar widgets for post categories, tag clouds, navigation, search, etc.
Widgets require no code experience or expertise. They can be added, removed, and rearranged on the WordPress Administration Appearance > Widgets panel.
index.php – home
The index file controls what the homepage of your WordPress theme looks like. By default it is a loop that queries and then displays the most recent blog posts, with a link in the bottom to view previous posts.
Alternately, you can specify in wp-admin -> settings -> reading to have the home page be a page you created yourself in WordPress. In that case, you specify a different page/URL for the regular blog posts to appear on, and that page is generated by index.php.
Global file that displays headers and navigation. Also contains HTML code.
Sidebar display is controlled in this file. Multiple sidebars can be set up in functions.php, and contents of sidebar widgets are set up from the WordPress wp-admin panel.
page.php – individual pages
Page.php controls what pages look like. You can choose to eliminate sidebars or other elements, add other unique elements for pages alone.
WordPress also allows you to create different page templates within your WordPress theme for different types of pages. To create a page template, simply copy page.php, rename it to whatever you want, then add this code to the top:
Contains instructions for global footer and closes HTML tags.
This controls the output of comments, which can be included in the loop if you desire comments on your theme. Comments.php can be overriden by plugins such as Disqus, which then take over comment functionality on your blog.