I would recommend Chromecast. Not only is it the cheapest, but it's design is by far the best. With Roku and other streaming devices you are limited to what apps and services the company decides to provide. The device is the media player. With Chromecast, your android phone, tablet, PC, or iphone, ipad, ipod, Mac is the media player (we all already have those) and the Chromecast is just the receiver. Everything is controlled via your device, no need for remotes. A few things unique to Chromecast:
1. Cast your android phone/tablet screen directly to the TV in real time. Everything you see on the phone is on the TV, including sound.
2. Cast your Chrome browser tabs to your TV. From your PC, phone, etc. Any device on the same network as the Chromecast can cast to it.
3. Any android app can be streamed to the TV. For example, if there is a service or app not available on Roku, simply open in with your tablet/phone and stream through Chromecast. With Chromecast there is no need to have a dedicated streaming app