I have a couple of the newer Roku variants, the Nvidia Shield is excellent as well, but costs more. It does 4k, Plex, etc all better than any other device.
Amazon Prime was only recently launched/available in Canada, Hulu still isn't, however there are work arounds for Hulu, but it's a PITA - I have a US account set up with my US address and buy Hulu gift cards from a US source, as Hulu rejects Canadian credit card #s. You also have to use a VPN with a US IP to watch Hulu even on a US account while in Canada. Same thing with SlingTV, although there are other payment options there than gift cards for now. I use a VPN for Netflix to open up regions other than Canada, as the Canadian Netflix catalogue isn't as good as many others. Between subs for Netflix, Hulu, Amazon, Sling, CraveTV (for HBO content here in Canada), we cut our cable/tv bill by 50% and increased the amount of decent TV by a huge factor. Sling TV truly gives you all the "network" stuff you will ever need for a fraction of what the cable companies charge. I'll probably drop Hulu as the cost due to not being in the US is higher, plus I can watch every show but 2 owned/created by Hulu on another platform, so it makes it pretty much a redundant service for me.
Bandwidth as stated earlier is an issue, we have a 250 cable and a 260 fiber connection, one has a 1.2tb limit, the other has no limit. Watching 4k streaming it doesn't take long with a few TVs in a home to bust even a large data cap.