Duolingo is very popular attracting 300 million users in 2019 according to Alexa. Going through the program can get you familiar with a new language at a low price: Free with ads or a subscription to their $6.99 a month subscription (August 2020) plan called Duolingo Plus. The problem I see with Duolingo and other similar approaches is they teach you a lot of vocabulary but not all those words will be immediately useful for learning the languages. Say you are learning Russian as I am and want to be able to speak to people as quickly as possible, you will find that although you have studied via Duolingo or videos/vocab lists for a long time you can’t understand basic questions and have difficulty expressing simple ideas. With more time this approach will work, you will know enough words to at least understand and, with practice, speak.
What if there was a better way?
I have a hunch that learning the most commonly spoken words instead of by topics can lead to quicker fluency. I’ve built quizzes for the top 1000 words in Russian and will do Spanish, English, French, Arabic, Chinese, Portuguese, and Hindi. I think with the same effort that takes a long time to learn many topics you can be speaking instead. I would hope there are other language learning approaches that use this method.
Why doesn't Duolingo do this?
It could come down to the Duolingo business model which is maximizing engagement with advertising but this could just be a coincidence and lots of people believe the topic approach is the best way to learn a language. I remember in Spanish class growing up we would learn a ton of words about a topic and then have not very serious conversations about those topics. They have a lot of users, so their selling price of free is obviously cheap enough for a lot of people to use it.
I want to test this better way and I've made some quizzes for teaching myself Russian, let me know if you want to buy some quizzes for the language you want to learn.