CPA is where an advertiser will pay a publisher (web site owner, blogger etc.) a fee every time the placed advertisement generates a lead, a sale or some form of positive response pre-arranged between the two parties.
CPC is a more balanced approach and favors each party fairly equally. CPC operates on a click through basis, whereby the advertiser is only charged when a user clicks on the ad. Whether or not that same user provides information or creates business after the click is of no relevance, the click in itself is all that matters. This system, as with CPA, has a limit and a budget attached, such that the advertiser is not bankrupted overnight by excessive clicking. A potential drawback with this model is the presence of false clicking; for example where a competitor purposely clicks on an ad in order to waste the budget and undermine the ad's success. CPC is the model utilized by Google Ads, and they have made significant steps to prevent this happening.
CPM is at the opposite end of the spectrum from CPA, providing the publisher with a guaranteed fee. It is akin to paying for traditional print media in the sense that one identifies a price for their advert space and then the ad is published without further clause or criterion. Online, though, an impression is paid for in lots of one thousand apiece. An impression itself is a sole appearance of the ad on the web page.
CPM has proven very effective in generating brand awareness and is a popular choice for companies who are not yet in the market to promote or sell a specific product.