i have the regular amazon firetv and i love it... according to the specs its supposed to have all the same hardware as the firetv stick but i still feel the stick is a bit laggy n the regular firetv is much smoother... but both gets the job done pretty well if ur looking for a set top box...
right now amazon firetv doesnt support xbmc, so ull need to sideload it... it works great on my regular firetv but i prefer to use plex since i feel like its smoother n a bit more powerful for streaming movies (granted i feel xmbc has a better UI)... xbmc is also ahead of plex in the streaming live-tv arena, but the problem with xbmc on the firetv is each time u launch xbmc to watch tv, it requires to update the entire uPNP database, which can take like 3 minutes and for me thats a bit painful... so with all that, i rarely launch xmbc on my firetv and always default to plex
as for casting ur pc/mac, i use splashtop which i sideload onto the firetv... that way i can cast both mac n pc shit instead of having to rely solely on miracast for pc and airplay for macs... only problem so far is splashtop doesnt do mobile devices (so ipad n android r out of luck although interestingly enough those devices can be the "receiver" of the cast and act as an additional monitor to ur pc/mac... but not that other way around... )... guess just gotta wait till this whole miracast vs airplay to sorta play its royal proprietary dumbness out...
u cant really compare the chromecast with the firetv/roku/apple tv... the chromecast requires a computer/devices cpu... the other 3 dont... makes all the different if ur doing anything 1080p... but if ur doing like 420p or 720p, then the chromecast is probably suffice (i found it dumb that u need the chromecast beta extension in order to hack n do 1080p initially... but after i tried it and the source computer/device significantly lagged, i understood why they capped it at 720p)...
i was able to try out the miracast (microsoft wireless adapter) too... it is probably the best caster out there for PCs right now with almost zero lag for normal purposes (while every other alternative out there including the splashtop or chromecast i was talking about has some sorta lag)... but i didnt get it because i have a few macs around that i might wanna cast... also want to be able to control the resolution being streamed (higher resolution when there is low internet/router activity... or lower resolution when i do need the bandwidth) when i watch movies (casting doesnt really allow that much modification), so i default to plex again...