[Google Chromecast] Asphyx:
There are a lot of Apps but there is no KILLER App yet to date....None that just DOES EVERYTHING...

You have Two distinct Groups of Apps...Players and Media Servers (Media Servers being a bit more comprehensive as they also include players to interface with their system)

You're (currently) going to need one of both types to be able to stream everything you might want to stream to a CCast.

Media Servers - Include Bubble UPnP and Plex. (PlayOn is another system but I'm not sure they have added their CCast support yet)

Media Servers usually work in conjunction with a more powerful computer running the server part of the system that can do things like convert (Transcode) media to be compatible (playable) on any device including a CCast, and make your media available via DLNA, UPnP or via a custom Cloud Service.These server systems in most cases do not stream content stored on your local (android) device (some like BubbleUPnP can), but they remove the need to store content on your device altogether by making a master media library server that can be accessed anywhere (even remotely). Some Media Servers will also allow you to sync content locally (Plex does not sure about Bubble) to a device when required so you can view that content even when no Network access is available (think in a Plane or when the only Network is a metered Mobile Data account.) These servers also have corresponding player apps to interface with their servers for best results.

Plex and Bubble are very different in many respects and make a very good symbiotic pair. Running Both gives you a great deal of power as far as what can be streamed and streamed specifically to a CCast due to the transcoding that is available.

Bubble UPnP - can play local DEVICE (aka Android Device) stored content and in conjunction with it's server counterpart (running on a PC) can transcode that media for playback on the CCast when needed. I will also note that Bubble currently has the edge on the CCast Player side support due to it's client (CCast Player) side Subtitle overlay, and if I read his changelog correctly last night will support multiple Audio Tracks during transcode. The ONLY thing Bubble is missing is the actual Media Library service. It can Aggregate content from DLNA,and UPnP sources that exist on the network but has no ability to include Media folders. So it requires a Plex like Server or an NAS with UPnP capability to collect the media it will display. It can however also use Windows Media sharing to get it's content. Not the best option (IMO) but it will work and since Bubble will do the transcoding should work better than Windows Media Sharing does by itself. The developer of Bubble is a regular poster here and can answer any questions you might have (or correct my stupidity if I have Misinformed) . I myself run Both Plex and Bubble on my main Media Server/HTPC

Plex Media Server (PMS) - is a full fledged DLNA server and Library system. You point it to Media folders based on content type (Movies, TV, Music, Photos, etc) It will scrape those contents to find metadata which includes cover art, Description of title, even Actors and Genre. It saves all of this info in a database that can be used to create a very nice looking display of your content, organized and tidy. The server runs on a PC and the Player app (Plex for Android and iOS) will only work with content stored and configured on that PLEX server's database(other DLNA sources will not show up). There is a way to include Local DEVICE stored content into the server but it's complicated, and that content requires the device to be on in order to stream to other devices. Plex also creates a home cloud situation where you can stream directly anywhere you are or SYNC to be able to play content when network is not available. Plex Transcodes media for compatibility and also has Channel support which is important to the cord cutters. Not all channels are CCast compatible but when the rest of the web world catches up to modern standards and makes their content HTML5 compliant that issue will go away. Plex also has a website that can send content to CCast from a PC using Chrome with the Googlecast Ext installed. And if you and your friends all run Plex server you can share content from those servers with each other.

If you run both systems you get the majority of what you need for streaming to the CCast with the exception of Live Browser (Tab Casting)

Bubble will handle the local streaming, Plex will supply the DLNA/UPnP component Bubble requires.

Now onto the other type of software that is where the 99,000 options will eventually be seen....

Media Players - Currently there are half a dozen options available (aVia, Real Player, YournamehereCast, you get the idea)

Most of these are no different than your typical Android media player with the exception being they have added the ability to find and send content to a CCast. In most cases no transcoding is possible which means it only works if the content you want to play is already CCast compatible. Think of every media player you have ever seen in the Play store...IMO they will ALL have CCast ability at some point if they want to stay in the game. The winner being the one who figures out how to get the CCast to play the most media types without the need to transcode. (Think MX Player's ability to support media that Android native can't support only this time it's the CCast that it adds the capability to.) Many of the players you find that support CCast also support flinging to DLNA renderers on the local network which is nice if you also have ROKU or an XBMC HTPC running on your network.

These Media players can see media from a variety of sources (including Local DEVICE stored media and those DLNA/UPnP/Cloud Storage servers) but the caveat is the transcoding is not there. (Real Player Cloud will transcode but only content that is stored on their cloud service.)

The one big advantage of a good Media player with CCast support is that it can make content from apps that support an external player but do not have CCast support able to stream to a CCast. You launch the media and when it asks for which player select a CCast compatible player and that player will then give that app CCast support. This is how some are getting XBMC to stream to CCast as well as some apps like Movie Browser UPnP. So even if you have a full fledged media server running it sure doesn't hurt to have a Media Player with CCast support that can give you some CCast capability even if your favorite media app doesn't support CCast by itself yet. But that app MUST support external players which most do these days.

My hope is MX Player or VLC eventually supports CCast because of all the players I have tried over the years those two seemed to be the best ones to use.

There are quite a few extension options that add capability to stream via the chrome browser. I don't use any of them (other than the GoogleCast extension that is required for PlexTV, and YouTube Web to work.) With that extension installed the websites will show the CCast icon on the player controls so you can fling content from PC. I'll let someone else talk about the other extensions that are available for PC and Browsers because like I said above with Bubble and Plex combined I have pretty much everything I need as far as Media flinging to CCast is concerned.

[EDIT] I listed Allcast as a Media Player but after thinking about that it isn't so much a player as it is a Media Flinger so I removed it from the list.) I consider anything Koush does to be a Must have app so get it and buy it if you haven't already!