A PC will do all that and more... so if you have an old PC then simply convert it into a HTPC and you can stream pretty much anything via WiFi.
Roku is the best for streaming online content, it has lots of free channels and also paid channels including the big ones like Netflix. Go with Roku if you want to stream online content.
Chromecast is the best for streaming content on your local network like your PC, smartphone, etc. Its not so great for streaming online content. Go with Chromecast if you want to stream local content.
WDTV is another excellent option for streaming local content, I simply find Chromecast much cheaper.
Fire TV is also great, but tied into the Amazon ecosystem so not much use unless you are willing to pay for Amazon Prime (costs $97 each year). Also, its best for streaming online content.
My recommendation is a HTPC and a router or a smart router with an external HDD. Any home media server software will convert your PC into a streamer, both local and online (you can access your content anywhere).
Otherwise go with Roku or Chromecast depending on what you are looking to stream.
PS - None of them stream 4K content, while a PC will.
Rippl looks good, but not sure how much it will continue to be updated. Don't go by specs or apps (most will be useless).