If you take a look to coinmarketcap top 20, and if you exclude Binance Coin (own blockchain in the near future), the only token here is EOS, on the 6th place. However, there are some interesting tokens on the market (nice projects, good teams, etc.). What do they lack to climb to the top 20 by market capitalization?
Everything has to be perfect for a token to even become popular, let alone be in the top 20. Even if you have got everything in place, you still require luck and tons of it, for a token to reach the peak position in the competitive crypto market. The reason behind this is scalability of the project as it is very difficult to scale a token.
I will try to explain the reason to you in simple terms. Consider a protocol like Bitcoin and ethereum as an ecosystem and various tokens based upon the protocol as it's components like animals. Whenever any animal (token) grows, the ecosystem grows and there are tons of animals so the chance of growth of ecosystem are very high.
On the other hand, a token is just a single species of animal and it is very difficult for a single animal species to grow to levels so that its population itself can compete with the whole ecosystem (protocols).therefore protocols like Bitcoin and ethereum are way safer and faster growing investments than tokens.
For tokens to be successful, an amazing idea backed by a strong team who can generate a serious amount of hype can help the token to grow to serious heights but still luck plays a very very crucial role here.