Let me offer an alternative explanation.
Both OAuth2 client and MCC developertoken are intended to identify the developer. To understand this you've got to consider history. The MCC developertoken was first. At that time (we're talking 2005 here, OAuth2 did not exist) you had to pay for API usage, and the MCC has possibilities to store credit cards, show invoices, etc. Plus it offered some user management - Developertokens were never lost, they were always visible in the MCC.
Apart from invoicing and user management, a compliance team in Google wants to know in advance what you intend to do with the API. They may consider your monthly spending. You have to submit your plans, and a few weeks or months later you get your developertoken. But: your plans can also be rejected.
Around 2011 OAuth2 was introduced, its main feature is that it was much faster - and it was much safer too.
OAuth2 intends to do the same - identify developers.
AdWords API was one of the last Google APIs to move to OAuth2 - others like GMail, Analytics etc. were migrated years before. So, by then OAuth2 came with an infrastructure ("Developer Console") that was taylored to the wishes of other APIs, and did not completely match the wishes of Google Ads. The lacking features are solved by keeping the developertoken alive.
There you have it. They are essentially the same but some minor details lead to this situation.
What are the differences? Like I said, security and speed. OAuth2 is the way to go. Further:
- In Developer Console, you can only add an API or remove it, and before usage you may have to agree with extra Terms and Conditions. But Developer Console has no system to allow a manual review before granting access, as is the case with MCC.
- MCC links a developer to the advertising amount being spent. This
doesn't always say much -some applications are created for mainly
external users- but you can imagine that the compliance team allows more
from companies spending a lot on Google ads. It works the other way around too, if you apply and state that the software will only be used internally, and you don't spend any money inside your MCC, you probably won't get approved.
- There is an issue with definitions. In OAuth2 you are supposed to create a client for every piece of software (communicating with the API) you make. In the MCC this is different: the MCC web interface allows only one developertoken. You can work around this limitation by having sub-MCCs which can get their own developertokens. But this is legally not allowed, see Terms & Conditions.
Note: as I've been around for a while, some information may be outdated. But I think I got the essence right.
I hope this offers some additional understanding.