This is a common misconception. Chromecast runs "actual applications", which are controlled by an application on a separate device like a phone or tablet. One of those applications (I believe the least useful one) enables you to mirror a display from the controlling device. But most of the applications are things like netflix, google play movies, and hbogo - very similar to the nexus player.
By run actual apps, I mean actually run the app's code on the device. There is no netflix app for the chromecast, it requires a separate device with the netflix app.
The chromecast is a glorified wireless hdmi dongle.
For most purposes the Chromecase doesn't really act like an hdmi dongle. With Netflix for example, the chromecast does all the streaming directly from Netflix. The Netflix app on the phone just tells the chromecast what URLs to play. Once it's streaming, you can power the phone off if you want.
I guess I'm being pedantic by saying that there is clearly an application running on the chromecast, which the controlling device sends information to, because it's admittedly more like a dumb proxy for the application running on the controlling device. But it's not like it is completely dependent on that device - you can turn on a movie and turn off your phone while you watch it.
Yea I understand that, I know there's an actual CPU running actual code but I was trying to make the distinction between a full blown app and something that just streams a url given to it by a device.
Chromecast runs an app inside that does the streaming.
Phone/tablet just setup the URL for the stream.
You can easily verified this by setup the chromecast to stream from youtube with a phone after it start play, you can turn off the phone and and it would still be playing.
The phone/table for chromecast is just a fancy remote control.