This is a topic I'm sitting on for quite a while. For about 8 years I was part of the Ad-tech industry so I know a lot of the secrets of how it operates. I'm always amazed by how little publishers know about what's going on behind the scenes of the ad-networks that drive most of their revenues. I believe knowledge is power so I hope this will serve as a resource for app publishers to know more about what drives their top line. If you also want to learn the the specific information about each ad-network you can check the Mobile Ad Network Comparison Spreadsheet
CPM stands for cost per mile but in advertising terminology this mostly refers to the cost of 1,000 impressions. When publishers get paid based on the CPM model, there is a fixed rate for every 1,000 impressions. For example, a CPM of $5 means that for every 1,000 ad impressions the publisher should receive five dollars. eCPM on the other hand is very different. It means that the publisher is paid a variable rate for every 1,000 impressions (the eCPM fluctuates). It could be $0 or $5 and the publisher doesn't have any revenue guarantee. In fact, eCPM is the opposite of CPM from an advertiser commitment point of view.
The reality of most mobile advertising today is that publishers get paid based on a rev-share. The ad networks might call it eCPM but the impressions are not the driver of the revenue. The ad-network's only commitment is that it pays the publisher a percentage of what it's making. 90% of the time, this is driven by app installs and 10% of the time the revenue is generated by clicks. The reason for that is that most of the ad network revenue today comes from performance campaigns with a goal of app installs. For example, a user that watched 500 ad impressions and never clicked could be generating $0 while a user that watched a single ad but actually installed the app could have generated $3 of revenue. This is a critical distinction especially when optimizing your app revenue. It means that that the more data you have about what happens after the impressions, the easier it will be for you to identify the best user segments.
When you read carefully through the terms of the publisher agreement you realize that most ad networks have payout thresholds. It means that you can only get paid after you've earned $75 or $100 of revenue. For indie developers it's recommended to take that into consideration when choosing their monetization partners. It also might be wise for smaller app developers to leverage mediation platforms with a payment aggregation option. Doing so would allow you to get paid faster.
Another misconception is that there is only one ad network between the publisher and the advertiser. This is wrong in many cases. As a publisher, you should try to understand how many hops (ad networks) are between you and the end advertiser on the other side. The math is simple, every hop means another mouth to feed, another company that needs to take a cut and less revenue for you.
When reading carefully into the terms and conditions of the ad-networks you will realize that the promised revenue sharing is not from the ad-network revenue but from a slightly different figure called Net Revenue. If you are not familiar with this term, you should pay attention. The ad-network gets revenue from the advertiser and then deducts certain costs from that revenue to get the Net Revenue which is then shared with you. For example - if the network promised that you will get 70% of the Net Revenue, it means that if they get $1 from the advertiser, they might deduct $0.3 to cover certain costs. The net revenue will then be $0.7 and your 70% is actually 49 cents from that 1 dollar. 49% rev-share in fact. The Net Revenue can also be adjusted by the ad-network from time to time. Which means that potentially it could be used to boost your revenue during your test period to influence your partner selection but then it could be dialed back to maximize the ad-network profits.