An SDK (software development kit) allows developers to write applications that work with a service or device, in this case the Chromecast. Google claims that adding Chromecast support to an existing application can be accomplished in less than 200 lines of code. If the ease of integration is as it is claimed to be, the number of Chromecast-aware applications could grow quickly.
Google has not finalized the SDK yet, meaning it is not possible for independant developers to write Chromecast-aware applications. Developers can whitelist their Chromecast, allowing a custom application to run on a specfic Chromecast device, though this does not allow general release applications since every Chromecast would have to be whitelisted. The applications that do work with the Chromecast were permitted by Google to run without the whitelist restrictions. Google has said that when the SDK is finalized, the restrictions will be removed, though a timeline for this has not been publically communicated.
Google's page on the Cast SDK: https://developers.google.com/cast/
DIAL protocal reference: https://sites.google.com/a/dial-multiscreen.org/dial/home
How Chromecast Works: http://computers-solution.com/how-chromecast-works-chromecast-protocol-described/