IMO, the Roku Ultra is the best. To me it offers the best user experience, the best search, it's fast, and has every app I want. I really like how you have a clean home screen with only your apps. It supports all the mainstream sound and video formats.
In comparison I have the xfnty flex 4k and an old set top box fire tv (replaced by the cube?). My gf has the newer fire tv stick. I just don't like the user experience with any of these.
I feel firetv is more about selling me azon content than providing a simple user interface with my apps. At one time the fire tv had the ability to download apps that would do this for you. However, azon was not making enough money, you don't buy what you don't see, and actually removed it from my box. That it was an android based system and this was a selling point at the time I bought it, it really pissed me off. They went on my box and removed apps that gave you a better user experience.
The flex 4k is even worse than the firetv. Like firetv, its aim is to sell you more content. By this I mean the main thing you see when you open it is what I consider advertisements for movies and shows. The first thing you see are advertising for show. These are huge compared to your apps and take most the screen. It also doesn't have as many apps. I'm not sure why? Worst of all, if you download an app next time you want to watch it you have to go searching for it. It doesn't even have a recently watched bar. Just the apps they prefer you to watch in the order they prefer them (#1 on the list is Peacock). But xfnty lets you use it for free. Probably the best selling point.
Luckily, I really only watch one TV, the one with the Roku!