Search Engine Optimization:
Is when the search engine looks through the websites that have more traffic related to the word/s that you entered. So selects first the ones that people go to the most… google works like that. for example if you search book in google the website on top would be facebook, because more people go to it when looking for a phrase with the word book.( this is totally free, websites don’t have to pay to be on top)

Pay per click:
is when a website pays a search engine for every click they get on their link, this way the search engine puts their website on top of the search list since it is more likely the person will click on it. Google also is an example of this, for example search "lawyer in miami" the first links will be lawyers who pay google for every click they get, so google puts them on top as they are more likely to get clicked there. ( but also google not only puts them there for their money but for the quality of their website too. that is what the rating is for)

hope this helps you.