I've used all of them. In order of best to worst:
Roku/AppleTV - Chromecast - FireTV
Roku/AppleTV: Tied, although price wise, you can't beat a Roku. Both have app stores, and both have pretty much the same abilities (depending on model).
I used to have an Apple TV and it worked great, especially if you are invested in the Apple Eco-System. I was pretty much able to stream just about anything from my MacBook, iMac, iPad, iPhone. My only complaint was with iTunes (which made me make the move to Roku). You can have an iTunes server streaming your media without issues to your AppleTV. HOWEVER, if you do not have internet access, you will not be able to play any of your content offline, even though you have it saved locally on a server. Billing issues will also prevent you from watching your content, so keep that in mind. Anyway, this was big for me due to constant internet issues due to local ISP. This was not acceptable for me at all as I felt my content was being held hostage by Apple. Not Cool. I spent lot's of cash on iTunes content which did not work offline.
Roku eliminated this restriction and I can watch any of my content, even if my internet connection goes down. I use Plex/Emby for all my content and have had no issues, can watch content locally or remotely. I recently bought a Roku Stick 4K HDR, and it works amazing! Highly recommend it.
Chromecast is good if you have mobile devices in which you want to stream content from either YouTube, Netflix, Hulu, etc...... Works with most devices, so that's cool. The only drawback is that you need a device to stream to the Chromecast. If you don't, you will not be able to use it fully (or at all). I was able to run pretty much the same as the Roku, but relied too much on my Tablet.
FireTV was the worst. Nothing but issues with 4k HDR content, and in order to really experience FireTV to it's full extend, you need to be a prime member. Apps had nothing but issues at times, my primary apps that I used for my content did not work properly or were not available. Unless you are heavily invested in Prime (Alexa, Prime, Echo, etc..) I would stay away.
Hope this helps.