The AMP runtime manages the amp-* HTML tags and can manage the loading and unloading of the resources. CSS is also limited for performance reasons. That trade off gives you the performance boost on mobile. AMP is already being used by sites like Pinterest, Twitter, New York Times, The Verge.
AMP is not for everyone. It is basically serving up a subset of your experience and you will lose custom animations, analytics, etc. So where is it useful? When you want a page to load as fast as it can. Like a status page for service. Google is already indexing AMP pages. While it’s not currently giving preference to AMP pages, it does rank pages by page load. AMP is open source and you can view the code on GitHub in the ampproject repository.