On page SEO addresses all those elements that form part of the code of the page itself. Search engines read the code for a page when they visit it, analyzing various elements to determine what the page is about. Different elements have different levels of influence on the search engines.
Off page SEO increases the presence of a site around the web, such that search engines encounter references to it more often thereby increasing the perceived importance of the page/site.