Google's not shooting themselves in the foot because:
- Google Cast is not a general-purpose streaming protocol, even though it is designed to mimic that UX to a casual user
- Cast provides some features like 'ad breaks' [1] that are valuable to content providers and aggregators which you wouldn't find in a general-purpose streaming protocol, making it more likely that those who want these features will make their streaming app Cast-compatible
- The Cast SDK comes with a TOS [2] that's a rather enlightening read
- You have to register your application with Google if you're developing a Cast sender [3], or if you're developing a Cast receiver and don't want to use their Default Receiver [4] (presumably, because you're building your own).
Google's building an ecosystem here. This isn't Miracast or WiDi or even AirPlay, although kudos to them for making everyone think so.
[1] https://developers.google.com/cast/docs/ads
[2] https://developers.google.com/cast/docs/terms
[3] https://developers.google.com/cast/docs/chrome_sender#setup
[4] https://developers.google.com/cast/docs/receiver_apps#choose...