Keywords are a bit confusing to be defined. Take an example.
Someone wants to find a job as a cab driver in london. He types in google(or any search engine) : 'cabbie jobs london'. Here 'cabbie jobs london' is a keyword, sites' whose content/title have matching keywords, having a good PR and who have backlinks anchoring this particluar keyword to their respective link, have a reasonably good chance of coming up the SERP for this query.
Tbh, google considers 200+ attributes before assigning a site a position on the SERP for a particular keyword.