Step 1: be a cheap (the cheapest?) option in the early phase of a market. This way you build up a sizeable customer-base using a market-segment with low/no expectations.
Step 2: app-developers will be forced to support your platform, despite low-quality platform, ecosystem or SDK if they want to be “everywhere”.
Step 3: With better/more popular apps supporting your platform you can start making more expensive devices or even sell/rent your platform to other players needing a checkbox to check before they can launch (ie smart-TVs).
Roku is really crap to use, but by playing by this book they’ve seemingly done well (as a business) so far.