At the current time I own a Roku Streaming Stick +, a Chromecast and an Amazon Fire Cube. I purchased the Fire Cube as some of the apps (channels) on Roku were freezing. I will only compare the Roku and the Fire Cube as I use the Chromecast mostly for streaming from my computer.
The differences I have observed:
- The Roku main menu is better. The Fire Cube has both "Recent" and "Your Apps & Games" sections to the menu which leads to redundancy of the items displayed. - The Fire Cube is faster and seems to have better video stream. - Roku has a lot more apps available - by a huge magnitude. You can "jail break" your Fire Cube, but you shouldn't have to do that to use your device to it's fullest potential. - The Fire Cube does not allow me to use all my subscriptions. For example I have a BritBox subscription. BritBox is provided as a Prime Video Channel. Neither can I use my BritBox credentials in Prime Video nor is there a BritBox app for the Fire Cube. Very poor. Currently, I can only watch BritBox via Roku or Chromecast. - The Alexa voice control is nice but it's a gimmick which I hardly ever use. The Fire Cube comes with a remote control which I use. I have turned off Alexa because it kept responding to the audio from the TV which was very annoying. I have not tried the Roku audio assistant.
Basically, the Fire Cube is good quality and provides good video. The Roku also does that but has a LOT more content. If you don't mind a more locked in system go with the Fire Cube (or stick). If you want a lot of content go with Roku. Some people will point out you can "jail break" the Fire Cube (or stick), but you should not have to do that to get additional content. Fire Cube is good quality but fails at providing content and accessing some subscriptions.