On-page SEO is factors that determine if a website is optimized or not to the search engine based on the internal content of that website. So, search engine will analyze if that website is relevant to what the users are seeking. Thus, a website should be of high relevancy and quality.

On the other hand, off-page SEO is actions that are done to optimize a website to the search engine from outside of that website. How? With backlink from other website to your website (other website puts link to your website on their website).

Both on and off-page SEO have to go hand-in-hand; one can't stand alone without the other (ineffective). The right way of doing on-page SEO is by having high quality content. 

Logically speaking, if the quality/value of that website is high, many will be more than willing to put link to that website on theirs. Thus, excellent off-page SEO is a result of excellent on-page SEO.

Be very careful on misusing off-page SEO because it can easily backfire and hurt your website.